Voi siete qui: Guida introduttiva all'Editor di programmi > Utilizzo di If, Lbl e Goto per controllare il flusso del programma

Utilizzo di If, Lbl e Goto per controllare il flusso del programma

Il comando If e diverse strutture If...EndIf consentono di eseguire un’istruzione o un blocco di istruzioni condizionatamente, ossia in base al risultato di una prova (come ad esempio x>5). I comandi Lbl (etichetta) e Goto consentono di passare l’esecuzione a un altro comando o di saltare da un punto a un altro in una funzione o in un programma.

Il comando If e diverse strutture If...EndIf sono elencati nel menu Strutture di controllo dell’Editor di programmi.

Quando si introduce una struttura come If...Then...EndIf, alla posizione del cursore viene inserito un modello. Il cursore viene posizionato in modo tale che sia possibile inserire una prova condizionale.

Comando If

Per eseguire un solo comando quando una prova condizionale è vera, utilizzare la forma generale:

If x>5

  Disp "x is greater than 5"  À

Disp x  Á

 

À

Eseguito solo se x>5; altrimenti, saltato.

Á

Visualizza sempre il valore di x.

In questo esempio, si deve memorizzare un valore in x prima di eseguire il comando If .

Strutture If...Then...EndIf

Per eseguire un gruppo di comandi se una prova condizionale è vera, utilizzare la struttura:

If x>5 Then

  Disp "x is greater than 5"  À

  2¦x&x  À

EndIf

Disp x  Á

 

À

Eseguito solo se x>5.

Á

Visualizza il valore di:
  2x if x>5
  x if x{5

Nota: EndIf indica la fine del blocco Then che viene eseguito se la condizione è vera.

Strutture If...Then...Else... EndIf

Per eseguire un gruppo di comandi se una prova condizionale è vera e un altro gruppo se la condizione è falsa, utilizzare questa struttura:

If x>5 Then

  Disp "x is greater than 5"  À

  2¦x&x  À

Else

  Disp "x is less than or equal to 5"  Á

  5¦x&x  Á

EndIf

Disp x  Â

 

À

Eseguito solo se x>5.

Á

Eseguito solo se x{5.

Â

Visualizza il valore di:
2x se x>5
5x se x{5

Strutture If...Then...ElseIf... EndIf

Una forma più complessa del comando If consente di eseguire una prova per condizioni multiple. Si supponga che un programma debba sottoporre a prova un argomento fornito dall’utente con quattro opzioni possibili.

Per eseguire la prova per ciascuna opzione (If Opzione=1, If Opzione=2, e così via), utilizzare la struttura If...Then...ElseIf...EndIf.

Comandi Lbl e Goto

È possibile controllare il flusso anche utilizzando i comandi Lbl (etichetta) e Goto. Questi comandi sono elencati nel menu Trasferimenti (Transfers) dell’Editor di programmi.

Utilizzare il comando Lbl per etichettare (ossia assegnare un nome a) una posizione specifica nella funzione o nel programma.

Lbl nomeEtichetta

nome da assegnare a questa posizione (utilizzare le stesse convenzioni di assegnazione dei nomi di variabile)

Successivamente, sarà possibile utilizzare il comando Goto in un punto qualsiasi della funzione o del programma per passare l’esecuzione alla posizione corrispondente all’etichetta specificata.

Goto nomeEtichetta

specifica a quale comando Lbl deve passare l’esecuzione

Poiché Goto è un comando non condizionale (passa sempre l’esecuzione all’etichetta specificata), viene spesso utilizzato con un comando If per consentire la specifica di una prova condizionale. Ad esempio:

If x>5

  Goto GT5  À

Disp x

--------

--------  Á

Lbl GT5

Disp "Disp Il numero era >5"

 

À

If x>5 passa l’esecuzione direttamente all’etichetta GT5.

Á

In questo esempio, il programma deve includere comandi (come ad esempio Stop) che impediscano l’esecuzione di Lbl GT5 se x{5.

 

© 2006 - 2016 Texas Instruments Incorporated