Riconoscere i quadrati perfetti - Università degli Studi di Trieste

Studio di un caso semplice:
Riconoscere i quadrati perfetti
Eugenio G. Omodeo
Trieste, 29/09/2014
Eugenio G. Omodeo
Riconoscere i quadrati perfetti
1/10
Caso allo studio
Problema
Dato un numero, stabilire se sia o no un quadrato perfetto
Eugenio G. Omodeo
Riconoscere i quadrati perfetti
2/10
Caso allo studio
Problema
Dato un numero, stabilire se sia o no un quadrato perfetto
Numero di che tipo ?
Eugenio G. Omodeo
Riconoscere i quadrati perfetti
2/10
Caso allo studio
Problema
Dato un numero, stabilire se sia o no un quadrato perfetto
Concentriamoci sui numeri naturali: 0, 1, 2, . . .
Eugenio G. Omodeo
Riconoscere i quadrati perfetti
2/10
Soluzione sbrigativa ( ma ‘autonoma’ )
Calcoliamo i quadrati consecutivi. . .
fin quando
1
0
c’imbattiamo nel numero dato, oppure
ci accorgiamo di averlo superato
Eugenio G. Omodeo
Riconoscere i quadrati perfetti
3/10
Raffinamento del procedimento su descritto
Osserviamo che la successione dei numeri quadrati risulta dalla
somma di numeri dispari consecutivi:
0 =
1 =
4 =
9 =
16 =
.. ..
. .
P
∅
P
{1}
P
{ 1, 3 }
P
{ 1, 3, 5 }
P
{ 1, 3, 5, 7 }
..
.
Eugenio G. Omodeo
Riconoscere i quadrati perfetti
4/10
Specifica in Java ( frammento )
Eugenio G. Omodeo
Riconoscere i quadrati perfetti
5/10
Altra specifica in Java
Eugenio G. Omodeo
( frammento )
Riconoscere i quadrati perfetti
6/10
Anche per la seconda specifica, usiamo una for
Eugenio G. Omodeo
Riconoscere i quadrati perfetti
7/10
Possibile completamento del frammento
Eugenio G. Omodeo
Riconoscere i quadrati perfetti
8/10
Tenendo d’occhio anche il riutilizzo. . .
Eugenio G. Omodeo
Riconoscere i quadrati perfetti
9/10
Esercizio
Modificare l’ultimo programma in modo che non si
limiti a fornire un responso affermativo / negativo
ma, quando il numero è quadrato, ne fornisca la
radice quadrata.
Eugenio G. Omodeo
Riconoscere i quadrati perfetti
10/10