3° Anno TEORIA 2. Dal problema all'algoritmo | Page 21

1. Dal problema all’ algoritmo versione 6.3 – Ottobre 2025
N. B. E’ possibile provare che tale tipo di costrutto iterativo equivale ad uno iterativo con controllo in testa e che quest’ ultimo equivale ad un costrutto di selezione + costrutto iterativo con controllo in coda
Esempio esplicativo
PER i � 1 A 5 ESEGUI
equivale
i � 1
equivale
i � 1
< B1 > i � i + 1
MENTRE( i ≤ 5) ESEGUI
SE( i ≤ 5)
FINE PER
< B1 >
ALLORA
Costrutto di iterazione determinato o indicizzato
i � i + 1
RIPETI
FINE MENTRE
< B1 >
Costrutto di iterazione con controllo in testa o per vero i � i + 1
FINCHE’ NOT( i ≤ 5) FINE SE
Costrutto di iterazione con controllo in coda o per falso
N. B. Ricordiamo che NON TUTTE le iterative di tipo MENTRE o RIPETI possono essere rappresentate in modo equivalente utilizzando una istruzione di tipo PER.
Esempio:
MENTRE(< condizione >) ESEGUI
< B1 > FINE MENTRE
oppure
RIPETI < B1 >
FINCHE’(< condizione >)
In questo caso il numero di iterazioni( cicli) dipenderà dal cambiamento di valore di verità( da VERO a FALSO) della condizione logica < condizione >.
Anche in questo caso il numero di iterazioni( cicli) dipenderà dal cambiamento di valore di verità( da FALSO a VERO) della condizione logica < condizione >.
IN DEFINITIVA non è MAI possibile scrivere un’ istruzione PER equivalente utilizzando una delle altre due iterative quando non è noto a priori il numero di cicli
ma ……….
MENTRE(< condizione >) ESEGUI < B1 >
FINE MENTRE equivale
SE(< condizione >) ALLORA
RIPETI < B1 >
FINCHE’( NOT < condizione >) FINE SE
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 21