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 istruzione n+1.

if3n
Non è necessario introdurre un costrutto di controllo a più uscite perché il diagramma di flusso si può trasformare nel successivo (esempio con 3 scelte…) dove cambia l’interpretazione ma non il comportamento dell’algoritmo.Dopo aver eseguito istruzione 0 decide se eseguire

istruzione 11
istruzione 12

oppure continua e quindi decide se eseguire

istruzione 21
istruzione 21

oppure

istruzione 31
istruzione 32

e quindi continua eseguendo istruzione 4.

if32

Top…

…down

Si può semplificare il codice, e rimanere più aderenti al primo diagramma di flusso, cambiando l’indentazione delle istruzioni ed eliminando le etichette di blocco superflue

Istruzioni singole…

Note

  1. Il valore assunto dell’unica espressione E decide quale blocco verrà eseguito
  2. Un solo blocco sarà eseguito in esclusiva
  3. Prima dell’Else finale possono essere inseriti ulteriori blocchi di tipo Else If (con E3, E4, …)
  4. L’ultimo blocco Else è facoltativo (quindi si può prevedere che nessuna sequenza di istruzioni venga eseguita).
Notice: This work is licensed under a BY-NC-SA. Permalink: Selezione multipla

Comments are closed.