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.
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 .
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: |
Nota: EndIf indica la fine del blocco Then che viene eseguito se la condizione è vera.
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: |
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.
È 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. |