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