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

1 . Dal problema all ’ algoritmo versione 5.0 – Novembre 2023
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