2. Definizioni (1/2)
• Sia q∈R il numero reale di cui si vuole
calcolare la radice quadrata.
• Sia inoltre a∈N il valore intero che
approssima per difetto √q
In formule:
a∈N : a2 ≤ q
Esempi:
q=10 a=3 q=17 a=4
3. Definizioni (2/2)
• Detto r = √q ∈R, si può porre
r = a+b con a∈N, b∈R, b<1
Il problema si riduce quindi al calcolo di b
• Per calcolare b, conviene scriverlo come
sequenza di cifre:
b è rappresentato da "0. b1 b2 b3 …"
e ragionare iterativamente, iniziando dal
calcolo della prima cifra decimale b1
4. Impostazione analitica (1/2)
• Come prima approssimazione, ci poniamo
l'obiettivo di calcolare
√q ≈ r1 rappresentato da "a.b1"
il cui valore si esprime come
r1 = a + b1 / 10
dove b1 è una cifra fra 0 e 9 inclusi.
• Ne segue che
q ≥ (a + b1 / 10)2
5. Impostazione analitica (2/2)
• Sviluppando il calcolo:
q – a2 ≥ (b1 / 10) (2a + b1 / 10)
ovvero
100 (q – a2) ≥ b1 (10c + b1), con c=2a
• Tale formula diventa un algoritmo osservando che:
(q – a2) rappresenta la differenza fra il numero dato
e il quadrato della sua attuale radice (approssimata)
(10c + b1) è il valore della sequenza di cifre "cb1"
6. Algoritmo per il calcolo di b1
• Dal numero iniziale q si sottrae a2, si aggiungono
due 0 a destra e si sposta la virgola di due posti
• Si raddoppia il valore a calcolando c=2a, poi:
– ponendo come 1° tentativo b1 = 1, si calcola il valore di
c1 × 1 e si confronta con 100(q – a2): se è maggiore ci
si ferma, altrimenti si prosegue;
– si pone come 2° tentativo b1 = 2 e si calcola il valore di
c2 × 2, ripetendo quindi il confronto
Si assume come valido il massimo valore di b1
per il quale cb1 × b1 non supera il valore 100(q – a2)
7. Esempio: √ 10 (1/3)
q = 10 a = 3 a2 = 9
10,00 3,…
-9 Si sottrae da q=10 il valore
1 a2 = 9 ottenendo 1
8. Esempio: √ 10 (2/3)
q = 10 a = 3 a2 = 9
10,00 3,…
-9
100 Ora si "abbassano i due zeri" e si
sposta la virgola di due posti: è il
valore 100(q – a2) che qui vale 100
9. Esempio: √ 10 (3/3)
q = 10 a = 3 c = 2a = 6
10,00 3,b1 Si costruisce il numero costitui-
to dalle due cifre "cb1", inizian-
-9 61 × 1 = 61 do con b1=1, e lo si moltiplica
100 per b1 stessa.
È minore di 100, si prosegue.
Si riprova con b1=2, ma ciò che
62 × 2 = si ottiene è maggiore di 100: lo
si scarta e ci si ferma.
124
r1 = 3.1
10. Proseguire l'algoritmo
Come calcolare le cifre successive?
Facile: si considerano come nuovi valori:
• q' = 100 ( 100 – 61) = 3900
• a' = 31 c ' = 62
e si ripete il procedimento, calcolando così b2
12. E per proseguire ancora…
Volete ulteriori cifre?
Nuovi valori per la prosecuzione del calcolo:
• q' = 100 ( 3900 – 3756)= 100 × 144 = 14400
• a' = 316 c ' = 632
e si va avanti…
Buon divertimento!