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