<tt>
Il controllo condizionale If
</tt>

<ms>
L'istruzione IF consente di decidere se eseguire un blocco di codice. La decisione scaturisce dal controllo di una espressione relazionale, cioè una espressione che restituisce sempre un risultato booleano TRUE o FALSE. La sintassi è la seguente:

- If (EspressioneRelazionale)
-   Istruzione1...
-   Istruzione2...
- EndIf

EspressioneRelazionale rappresenta la relazione tra operandi da cui viene restituito un risultato booleano. Se il risultato è TRUE, il blocco di codice che sta tra If e EndIf viene eseguito. La parola chiave "EndIf" chiude sempre il blocco di codice aperto da If. Se l'espressione restituisce FALSE, l'esecuzione salta alle istruzioni che seguono "EndIf".

Per esempio:
- x = 10
- If x > 5
- Circle(50,50,30)
- EndIf

Abbiamo istanziato una variabile di nome "x". Il blocco If viene eseguito solo se "x" è maggiore di 5. Dato che la variabile contiene 10, allora viene disegnato un cerchio.

Una istruzione if può essere accompagnata da una istruzione  ELSE. ELSE consente di sfruttare entrambi gli stati dell'espressione booleana iniziale,  perché delimita il blocco di codice eseguito nel caso che la condizione sia FALSE.

- If (EspressioneRelazionale)
-   Istruzione1...
-   Istruzione2...
- Else
-   Istruzione3...
-   Istruzione4...
- EndIf
 
Se l'espressione restituisce il valore TRUE viene eseguito il blocco IF costituito dall'istruzione 1 e 2, altrimenti l'interprete esegue il blocco di codice costituito dall'istruzione 3 e 4.

Per esempio:
- x = 10
- If x > 5
-   Circle(50,50,30)
- Else
-   Square(20,20,30)
- EndIf

In questo esempio, se la variabile "x" è maggiore di 5 viene disegnato un cerchio, altrimenti se è minore o uguale a 5 viene disegnato un quadrato (l'istruzione contenuta nel blocco ELSE).


All'interno di una istruzione IF o IF ELSE può essere contenuta un'altra istruzione IF. In questo caso particolare siamo in presenza di IF annidati.

- If (EspressioneRelazionale)
-   Istruzione1...
-   Istruzione2...
-   If (EspressioneRelazionale2)
-     Istruzione5...
-   EndIf
- Else
-   Istruzione3...
-   Istruzione4...
- EndIf


Le condizioni IF possono essere utilizzate in catena mediante l'uso dell'istruzione speciale ELSEIF. In questo tipo particolare di concatenazione si valutano più espressioni relazionali procedendo in catena, dall'alto verso il basso. Se una delle condizioni risulta TRUE allora viene eseguito il relativo blocco di codice. Altrimenti, se presente, viene eseguito il blocco di codice ELSE finale.

- If (EspressioneRelazionale1)
-   Istruzione1...
-   Istruzione2...
- ElseIf (EspressioneRelazionale2)
-   Istruzione3...
-   Istruzione4...
- ElseIf (EspressioneRelazionale3)
-   Istruzione5...
-   Istruzione6...
- Else
-   Istruzione7...
-   Istruzione8...
- EndIf

Se l'espressione1 è TRUE viene eseguito il blocco di istruzioni 1 e 2, altrimenti se l'espressione2 è TRUE viene eseguito il blocco di istruzioni 3 e 4, altrimenti se l'espressione3 è TRUE viene eseguito il blocco di istruzioni 5 e 6, altrimenti il blocco di codice Else finale costituito dalle istruzioni 7 e 8.
</ms>

<rl>
TBiblosBrailleGeometry.Language.ForLoop
TBiblosBrailleGeometry.Language
</rl>