Dato un numero A positivo, prendi un numero Y positivo tale che  A·Y < 2.
Calcola  Y·(2−A·Y)  e prendi come nuovo valore di Y il risultato.
Ripeti lo stesso calcolo col nuovo Y.  E così via.  Che cosa ottieni?

Esempio:
A = 7; Y = 0.1
Y = Y*(2-A*Y)             # 0.13
Y = Y*(2-A*Y)             # 0.1417
Y = Y*(2-A*Y)             # 0.14284777
Y = Y*(2-A*Y)             # 0.14285714224219
Y = Y*(2-A*Y)             # 0.142857142857143
Y = Y*(2-A*Y)             # 0.142857142857143
Altro esempio:
A = 0.04; Y = 1
Y = Y*(2-A*Y)             # 1.96
Y = Y*(2-A*Y)             # 3.766336
Y = Y*(2-A*Y)             # 6.96526052540416
Y = Y*(2-A*Y)             # 11.9899268833382
Y = Y*(2-A*Y)             # 18.2295198999645
Y = Y*(2-A*Y)             # 23.166423968601
Y = Y*(2-A*Y)             # 24.8655199574832
Y = Y*(2-A*Y)             # 24.9992766047266
Y = Y*(2-A*Y)             # 24.999999979068
Y = Y*(2-A*Y)             # 25

I calcoli sono facilissimi usando questa calcolatrice. Un esempio: A = 25, Y = 0.01 (metto 25 in A, 0.01 in M e, inzialmente, M in B; in B ottengo via via le uscite):

Viene calcolato il reciproco di A. Questo esercizio dà un'idea degli algortimi molto semplici che sono stati impiegati per eseguire le operazioni nei computer e nelle calcolatrici. Per l'uomo sono importanti le attività di calcolo approssimato ( Approssimazioni) o l'impiego di algoritmi meno meccanici.
L'algortimo può essere rappresentato facilmente con un diagramma come quello a lato, scrivendo il testo in modo preformattato (modo che usa un font con caratteri di eguali dimensioni, e rappresenta gli spazi bianchi). Vedi.
   
         input A
         input B
           |
--->   Y = Y*(2-A*Y)
|          |
|       scrivi Y
|          |          
---  vuoi continuare? ----> END
 SI'                  NO

Potremmo realizzare il calcolo online con un semplice programmino in JavaScript (software incorporato in tutti i browser). Vai qui: http://macosa.dima.unige.it/js/js.htm, clicca "macosa.dima.unige.it/js.com" e metti nella finestra in alto:

<pre><script> with(Math) {
A=5; Y=0.3; document.writeln("A*Y = ",A*Y)
N=10
for(i=1;i<=N;i=i+1) {Y=Y*(2-A*Y); document.writeln("Y = ",Y)}
} </script></pre>

  e con:

A=5; Y=2/9

    Ottieni:

A*Y = 1.5
Y = 0.15
Y = 0.1875
Y = 0.19921875
Y = 0.1999969482421875
Y = 0.19999999995343387
Y = 0.2
Y = 0.2
Y = 0.2
Y = 0.2
Y = 0.2
   
A*Y = 1.1111111111111112
Y = 0.19753086419753085
Y = 0.19996951684194483
Y = 0.19999999535388538
Y = 0.19999999999999987
Y = 0.2
Y = 0.2
Y = 0.2
Y = 0.2
Y = 0.2
Y = 0.2

Vedi qui per qualche riflessione didattica.
 

Se sei intereressato a realizzare diagrammi come quello a fianco con R vedi qui.

   
BF=4; HF=3
boxW(-50,50, -30,70)
# BOX()                         # I put it to see the grid; then I take it off
x=c(-10,10,10,-10); y=c(50,50,70,70); polyC(x,y,"yellow")
A=c(0,65); ptexT(A,"input A") 
A=c(0,55); ptexT(A,"input Y") 
dart(0,50, 0,40, 1)
x=c(-15,15,15,-15); y=c(30,30,40,40); polyC(x,y,"yellow")
A=c(0,35); ptexT(A,"Y = Y*(2 - A*Y)") 
dart(0,30, 0,20, 1)
x=c(-10,10,10,-10); y=c(10,10,20,20); polyC(x,y,"yellow")
A=c(0,15); ptexT(A,"scrivi Y") 
dart(0,10, 0,0, 1)
x=c(-20,20,20,-20); y=c(-10,-10,0,0); polyC(x,y,"yellow")
A=c(0,-5); ptexT(A,"vuoi continuare?") 
A=c(-15,5); ptexT(A,"SI'")
A=c(15,5); ptexT(A,"NO")
dart(-20,0, -20,35, 1)
dart(-20,35, -15,35, 1)
dart(20,0, 20,10, 1)
x=c(15,25,25,15); y=c(10,10,20,20); polyC(x,y,"yellow")
A=c(20,15); ptexT(A,"END")