Strutture di controllo: iterazione azioni …… azioni while (condizione logica) azioni da ripetere azioni da ripetere vero condizione logica end while azioni seguenti …… falso azioni seguenti Fondamenti di Informatica -- R.Gaeta 87 Strutture di controllo: iterazioni annidate azioni …… azioni while (condizione logica esterna) azioni iterazione interna da ripetere while (condizione logica interna) azioni iterazione interna da ripetere azioni iterazione esterna da ripetere vero condizione logica interna falso vero condizione logica esterna falso end while azioni iterazione esterna da ripetere end while azioni seguenti …… azioni seguenti Fondamenti di Informatica -- R.Gaeta 88 Esercizio: massimo di una sequenza start start max := -1 max := -1 read numero read numero falso numero >0 while (numero > 0) if (numero > max) then write max vero max := numero end vero end if numero > max read numero falso end while max := numero write max read numero end Fondamenti di Informatica -- R.Gaeta 89 Esercizio: massimo di una sequenza start start max := -1 max := -1 read numero read numero while (numero <> 0) falso numero <> 0 if (numero < 0) then write max write “solo positivi!!” vero falso numero < 0 vero else end if (numero > max) then write "solo positivi!!" numero > max max := numero end if vero end if falso max := numero read numero end while read numero write max end Fondamenti di Informatica -- R.Gaeta 90 Esercizio: cosa fa questo algoritmo? start start P := 0 P := 0 read A,B read A,B falso A <> 0 while (A <> 0) write P if (A è dispari) then vero P := P + B end vero A è dispari end if falso A := A / 2 P := P + B B := B * 2 end while A := A / 2 write P B := B * 2 end Fondamenti di Informatica -- R.Gaeta 91 Esercizio: cosa fa questo algoritmo? P 0 3 9 21 A 7 3 1 0 B 3 6 12 24 Fondamenti di Informatica -- R.Gaeta 92 Esercizio: cosa fa questo algoritmo? P 0 0 0 12 36 A 12 6 3 1 0 B 3 6 12 24 48 Fondamenti di Informatica -- R.Gaeta 93