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