1. Dal problema all’ algoritmo versione 6.3 – Ottobre 2025
Mettiamo a confronto i due costrutti iterativi introdotti finora:
COSTRUTTO ITERAZIONE MENTRE
1) La condizione viene controllata prima di eseguire il blocco di istruzioni < B1 >; 2) Può anche non eseguire mai il blocco di istruzioni < B1 >; 3) Esegue il blocco di istruzioni < B1 > fino a che la condizione in testa risulterà VERA; 4) Viene anche chiamato costrutto di iterazione o ciclo“ con controllo in testa”
COSTRUTTO ITERAZIONE RIPETI …. FINCHE’
1) La condizione viene controllata dopo avere seguito il blocco di istruzioni < B1 >; 2) Esegue il blocco di istruzioni < B1 > almeno una volta; 3) Esegue il blocco di istruzioni < B1 > fino a che la condizione in coda risulterà FALSA; 4) Viene anche chiamato costrutto di iterazione o ciclo“ con controllo in coda”
OSSERVAZIONE: In alcuni casi potremmo conoscere FIN DALL’ INIZIO quante volte deve essere ripetuto un ciclo. Quando si conosce FIN DALL’ INIZIO quante volte deve essere ripetuta un’ azione è possibile utilizzare PER MAGGIORE SEMPLICITA’ DI SCRITTURA il costrutto iterativo ENUMERATIVO o determinato o indicizzato.
Pseudocodifica istruzione di“ Iterazione ENUMERATIVA o DETERMINATA o INDICIZZATA”:..... PER < indice > � < inizio > A < fine > ESEGUI < B1 > < indice > � < indice > + 1 FINE PER.....
oppure in modo alternativo:..... PER < indice > � < inizio > INDIETRO A < fine > ESEGUI < B1 > < indice > � < indice >- 1 FINE PER.....
ISTRUZIONE ITERATIVA PER incrementale o CRESCENTE
ISTRUZIONE ITERATIVA PER decrementale o DECRESCENTE
N. B. Tale tipo di costrutto iterativo può viene utilizzato ESCLUSIVAMENTE quando si conoscono a priori il numero di iterazioni richieste.
La condizione logica che regola un ciclo PER è SOTTOINTESA ed è esprimibile con il seguente enunciato composto dell’ Algebra di Boole:
• < indice > ≤ < fine > se il PER è incrementale o CRESCENTE
• < indice > ≥ < fine > se il PER è decrementale o DECRESCENTE
essendo < B1 > un qualsiasi blocco semplice o un blocco composto di istruzioni.
IN ENTRAMBI I CASI: Se la condizione SOTTOINTESA è VERA si eseguirà il blocco di istruzioni < B1 > Se la condizione SOTTINTESA è FALSA si arresta il processo iterativo. Se la condizione SOTTINTESA è inizialmente FALSA il ciclo PER non viene mai eseguito
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 19