Ripetizione con controllo in testa

Ripetere più volte l’esecuzione di una sequenza (con decisione in testa alla sequenza) Decide se eseguire istruzione 1, istruzione 2, … e poi ritornare in alto oppure proseguire direttamente con le istruzioni successive. Rispetto alla ripetizione con controllo in coda c’è la possibilità che la sequenza controllata non venga eseguita neanche una volta. While A … Leggi tutto

Ripetizione con controllo in coda

Ripetere più volte l’esecuzione di una sequenza (con decisione in coda alla sequenza) Dopo aver eseguito istruzione 1 istruzione 2 decide se ripetere la loro esecuzione o continuare con le istruzioni successive. Note La sequenza controllata è stata eseguita almeno una volta. Le istruzioni controllate devono necessariamente modificare il valore di A, altrimenti la ripetizione … Leggi tutto

Alternativa ciondolante

Considera attentamente i due diagrammi di flusso e le codifiche corrispondenti If A > 0 Then   Begin       If B > 0 Then         Begin             Istr11;             Istr12;         End     Else         … Leggi tutto

Selezioni annidate

Le condizioni perché dei blocchi siano eseguiti a scapito di altri possono essere complicate… Procedi in modo top-down utilizzando sempre le etichette di inizio e fine blocco Top… If A > 0 Then   Begin       (* … da sistemare … *)   End Else   Begin       (* … da … Leggi tutto

Selezione multipla 2

Decidere quale eseguire tra tante sequenze alternative di istruzioni  Se le espressioni E, E1, E2, … sono di tipo semplice si può utilizzare una struttura di controllo che permette un’interpretazione molto fedele al diagramma di flusso Case(E) Of     E1: Begin           Istr11;           Istr12;   … Leggi tutto

Selezione multipla

Decidere quale eseguire tra tante sequenze alternative di istruzioni Dopo aver eseguito istruzione 0 decide quale blocco eseguire in funzione del valore assunto dall’espressione E. Se E = E1 esegue istruzione 11 istruzione 12 altrimenti se E = E2 esegue istruzione 21 istruzione 22 … altrimenti esegue istruzione n1 istruzione n2 e poi continua eseguendo … Leggi tutto

Selezione doppia

Decidere quale eseguire tra due diverse sequenze di istruzioni Dopo aver eseguito l’istruzione 0 decide se eseguire istruzione 11 istruzione 12 oppure istruzione 21 istruzione 22 e poi continua eseguendo istruzione 3. … If E = 1 Then    Begin       Istr11;       Istr12;    End Else    Begin     … Leggi tutto

Selezione singola

Decidere se eseguire o meno una o più istruzioni Dopo aver eseguito istruzione 0 decide se eseguire istruzioni 11 istruzioni 12 e poi continua eseguendo istruzione 2 … If E = 1 Then     Begin         Istr11;         Istr12;     End; … Se viene controllata l’esecuzione di … Leggi tutto

Sequenza

Una sequenza di istruzioni, allineate in verticale (attraversate dalla freccia del tempo dall’alto verso il basso) L’esecutore eseguirà prima l’istruzione 1, poi l’istruzione 2 e infine l’istruzione 3 Istr1; Istr2; Istr3; Le istruzioni possono essere scritte sulla stessa riga e la loro esecuzione procederà da sinistra verso destra… Istr1; Istr2; Istr3;