Approfondimento 4 - Le istruzioni di controllo


Di seguito con blocco intenderemo una sequenza di operazioni.

Selezione semplice
Un’istruzione di selezione semplice (istruzione condizionale) è costituita da una condizione il cui verificarsi o meno determina l’esecuzione delle operazioni di un blocco B1 oppure di un blocco B2. Lo schema può anche non prevedere una seconda alternativa.

La sintassi nei due casi è:



Fig. 17 Diagramma a blocchi della selezione semplice con e senza alternativa


Selezione multipla
L’esecuzione di uno dei blocchi alternativi B1, B2,…Bn dipende da una variabile di controllo V che può assumere uno qualunque dei valori dell’insieme {V1, V2, …Vn}. Se la variabile V non assume alcuno dei valori dell’insieme viene eseguito il blocco S.

La sintassi è:



Fig. 18 Diagramma a blocchi della selezione multipla


Iterazione enumerativa
Si fa ricorso a questa istruzione quando è noto a priori il numero N di iterazioni che l’esecutore deve svolgere. La variabile di controllo I all’ingresso del ciclo riceve il numero N e ogni volta, prima di eseguire il ciclo, si confronta il valore di I col valore finale M. Se I≤M si entra nel ciclo e I viene incrementato di un’unità. Quando il valore I supera M , il ciclo non viene eseguito e l’iterazione ha termine. Se N>M il blocco B non viene eseguito.

La sintassi è:



Fig. 19 Diagramma a blocchi dell’iterazione enumerativa


Iterazione a controllo iniziale
Un blocco di operazioni viene eseguito una o più volte mentre la condizione di controllo, posta all’inizio del ciclo, è vera. Quando la condizione è falsa si esce dal ciclo. Se la condizione di controllo è sempre falsa, il blocco P non viene mai eseguito.

La sintassi è:



Fig. 20 Diagramma a blocchi dell’iterazione a controllo iniziale



Iterazione a controllo finale
Il blocco d’istruzioni viene eseguito ripetutamente fino a quando la condizione di controllo, posta alla fine del ciclo, da falsa diventa vera. Il blocco P è eseguito almeno una volta.

La sintassi è:


Fig. 21 Diagramma a blocchi dell’iterazione a controllo finale