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.

 Selezione tripla

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.

 Selezione tripla
Top… …down Semplificato Una sola istruzione
C…

Pascal

Python

SMALL
BASIC

VISUAL
BASIC

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.

Note

  1. In linguaggio C: ==
  2. Il valore assunto dell’unica espressione E decide quale blocco verrà eseguito
  3. Un solo blocco sarà eseguito in esclusiva
  4. Prima dell’Else finale possono essere inseriti ulteriori blocchi di tipo Else If (con E3, E4, …)
  5. L’ultimo blocco Else è facoltativo (quindi si può prevedere che nessuna sequenza di istruzioni venga eseguita).