IF...THEN...ELSE...ENDIF

Da Gambas-it.org - Wikipedia.
Versione del 17 gen 2008 alle 02:57 di 88.35.111.192 (Discussione)

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

IF…THEN…ELSE 29 11 2007

DIM variabile AS Integer

FOR variabile = 1 TO 10

   IF variabile = 5 THEN
       PRINT “Trovato il numero”
   ELSE
       PRINT “Sto cercando il numero…”
   ENDIF 

NEXT

Un’altro mattone fondamentale nella scrittura di codice Basic (e quindi in Gambas) è l’istruzione IF…THEN…ELSE (letteralmente se…allora…altrimenti).

Come per l’esempio FOR…NEXT le righe di programma sopra riportate si trasformano in questo modo:

Per variabile che va’ da 1 a 10 se il valore di variabile è uguale a 5 stampa la frase ”Trovato il numero” altrimenti stampa la frase “Sto cercando il numero…” quindi procedi con il prossimo valore di variabile.

Sostituendo le parole al codice si avrebbe

Per variabile che va’ da 1 a 10

se il valore di variabile è uguale a 5

stampa la parola “Trovato il numero”

altrimenti

stampa la parola “Sto cercando il numero…”

quindi procedi con il prossimo valore di variabile

Analizziamo ogni singola riga per comprenderne meglio il significato:

DIM variabile AS Integer dichiarazione della variabile (nome e tipo)

FOR variabile = 1 TO 10 comunichiamo al sistema che valori può assumere variabile, ovvero da 1 a 10

IF variabile = 5 THEN comunichiamo al sistema che deve controllare il valore di variabile, se questo valore è uguale a 5 allora deve fare qualche cosa

PRINT “Trovato il numero” ad ogni valore di variabile uguale a 5 il sistema stampa la frase “Trovato il numero”, ovviamente tale frase sarà stampata una sola volta in quanto in un campo di numeri da 1 a 10, il numero 5 non è ripetuto.

ELSE con l’istruzione IF chiediamo al programma di verificare una rispondenza, se questa non si avvera il controllo passa all’istruzione ELSE (altrimenti) che esegue un’altra porzione di codice.

PRINT “Sto cercando il numero…” ad ogni valore di variabile che non sia uguale a 5 il sistema stampa la frase “Sto cercando il numero…”, tale frase sarà stampata 9 volte.

ENDIF termina il codice iniziato con IF.

NEXT procediamo con un nuovo valore fino al raggiungimento del numero 10.

A differenza dell’istruzione FOR…NEXT, IF…THEN può essere scritta anche in una linea sola evitando quindi l’utilizzo di ELSE ed ENDIF:

IF variabile = 5 THEN PRINT “Trovato il numero”

Se vogliamo stampare solo la frase “Trovato il numero” eviteremo l’utilizzo di ELSE:

DIM variabile AS Integer

FOR variabile = 1 TO 10

   IF variabile = 5 THEN
       PRINT “Trovato il numero”
   ENDIF 

NEXT

Le possibile scelte condizionali che offre l’istruzione IF…THEN sono:

= uguale (variabile = 5)

> maggiore (variabile > 5)

< minore (variabile > 5)

<> diverso (variabile <> 5)

>= maggiore o uguale (variabile >= 5)

<= minore o uguale (variabile <= 5)

Alcune istruzioni sono spiegate marginalmente in questo articolo in quanto già trattate precedentemente.