TURBOPASCAL Literazione prof V Riboldi Quando si risolve
TURBOPASCAL L’iterazione - prof. V. Riboldi -
Quando si risolve un problema può accadere che un gruppo di istruzioni debba essere ripetuto fino a quando non si verifichi una determinata condizione - prof. V. Riboldi -
L’iterazione enumerativa Consente la ripetizione di un gruppo di istruzioni un numero prefissato di volte In LP per variabile: = val_in fino a val_fin fai inizio istruzione 1; istruzione 2; ………. fine; In TP for variabile: = val_in to val_fin do begin istruzione 1; istruzione 2; ………. end; - prof. V. Riboldi -
L’iterazione enumerativa La variabile viene detta contatore proprio per la funzione che ha di contare il numero di ripetizioni u Il contatore deve essere di tipo integer u Il contatore viene automaticamente incrementato di una unità ad ogni ripetizione u Quando il contatore assume valore uguale al valore finale il ciclo viene eseguito per l’ultima volta e poi il controllo dell’esecuzione passa all’istruzione successiva u - prof. V. Riboldi -
Esempio di istruzione for u L’operazione i: =1 è detta inizializzazione della variabile u Si noti come nel diagramma siano evidenziati in blocchi separati l’inizializzazione a 1 della variabile i, il controllo che il suo valore non superi 3 e il suo ciclico incremento di 1: in TP il comando for gestisce direttamente tutte queste operazioni. - prof. V. Riboldi -
… a ritroso In TP l’iterazione enumerativa può anche procedere dal valore più alto del contatore a quello più basso for variabile: = val_fin downto val_in do begin istruzione 1; istruzione 2; ………. end; - prof. V. Riboldi -
L’iterazione per falso (o controllo in coda) Il blocco di istruzioni viene eseguito ripetutamente fino a quando la proposizione da falsa diventa vera; certamente viene eseguito almeno una volta, in quanto la verifica del blocco di controllo segue il blocco stesso In LP ripeti istruzione 1; istruzione 2; ………. finché proposizione; In TP repeat istruzione 1; istruzione 2; ………. until proposizione; - prof. V. Riboldi -
L’iterazione per vero (o controllo in testa) Il blocco viene eseguito ripetutamente mentre la proposizione è vera e quando diventa falsa si esce dal ciclo; il blocco non viene mai eseguito se la condizione è sempre falsa In LP mentre proposizione fai inizio istruzione 1; istruzione 2; ………. fine; In TP while proposizione do begin istruzione 1; istruzione 2; ………. end; - prof. V. Riboldi -
Diagrammi a blocchi - prof. V. Riboldi -
Nelle strutture repeat … until e while … do sono sempre presenti: u u u almeno una variabile di controllo, inizializzata prima del ciclo una o più istruzioni che devono essere eseguite una o più volte; tra di esse c'è sempre una istruzione che modifica la variabile di controllo della iterazione la condizione di uscita dal ciclo (vera per la struttura repeat e falsa per la struttura while) - prof. V. Riboldi -
- Slides: 10