La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

- prof. V. Riboldi - TURBOPASCAL L’iterazione Quando si risolve un problema può accadere che un gruppo di istruzioni debba essere ripetuto fino a quando.

Presentazioni simili


Presentazione sul tema: "- prof. V. Riboldi - TURBOPASCAL L’iterazione Quando si risolve un problema può accadere che un gruppo di istruzioni debba essere ripetuto fino a quando."— Transcript della presentazione:

1

2 - prof. V. Riboldi - TURBOPASCAL L’iterazione

3 Quando si risolve un problema può accadere che un gruppo di istruzioni debba essere ripetuto fino a quando non si verifichi una determinata condizione

4 - prof. V. Riboldi - L’iterazione enumerativa 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; Consente la ripetizione di un gruppo di istruzioni un numero prefissato di volte

5 - prof. V. Riboldi - L’iterazione enumerativa  La variabile viene detta contatore proprio per la funzione che ha di contare il numero di ripetizioni  Il contatore deve essere di tipo integer  Il contatore viene automaticamente incrementato di una unità ad ogni ripetizione  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

6 - prof. V. Riboldi - Esempio di istruzione for  L’operazione i:=1 è detta inizializzazione della variabile  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.

7 - 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;

8 - prof. V. Riboldi - L’iterazione per falso (o controllo in coda) In LP ripeti istruzione 1; istruzione 2; ………. finché proposizione; In TP In TPrepeat istruzione 1; istruzione 2; ………. until proposizione; 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

9 - prof. V. Riboldi - L’iterazione per vero (o controllo in testa) In LP mentre proposizione fai inizio istruzione 1; istruzione 2; ……….fine; In TP In TP while proposizione do begin istruzione 1; istruzione 2; ……….end; 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

10 - prof. V. Riboldi - Diagrammi a blocchi

11 - prof. V. Riboldi - Nelle strutture repeat … until e while … do sono sempre presenti:  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)


Scaricare ppt "- prof. V. Riboldi - TURBOPASCAL L’iterazione Quando si risolve un problema può accadere che un gruppo di istruzioni debba essere ripetuto fino a quando."

Presentazioni simili


Annunci Google