Costrutto if

Costrutto if

{gspeech style=2}

È la struttura di alternativa per la selezione.
È denominato costrutto if ed ha la seguente sintassi:


if(condizione){ istruzioni-a;} 
else{ istruzioni-b; }
 

Se la condizione assume valore logico vero sarà eseguito 
il blocco di istruzioni-a (o il blocco di istruzioni corrispondenti all’if); nel caso la condizione assume valore logico falso, 
se è presente il ramo else verrà eseguito il blocco di 
istruzioni corrispondente (istruzioni-b). 
Si deve osservare che l’esecuzione di una delle due parti esclude l’altra.

 

La clausola else è opzionale, in tal caso non esiste un eventuale ramo else da eseguire. 

if(condizione){ istruzioni-a;} 

 

Costrutto if-else-if

E’ un’istruzione comune nella programmazione ed è costituito da una serie di if-else-if riuniti a formare una struttura a scala.:

if(condizione-a){ 
       istruzioni-a;} 
else if(condizione-b){ 
       istruzioni-b;} 
else if(condizione-c){ 
       istruzioni-c;} 
.. 
else { istruzioni-n;}

il calcolatore inizia la valutazione delle espressioni condizionali dall’alto verso il basso, esegue la prima istruzione corrispondente al verificarsi di una condizione e abbandona la catena di if. Se non si verifica nessuna condizione viene eseguito l’else finale che ha il significato concettuale di condizione di default. Se non è presente l’else finale, qualora non si sia verificata nessuna delle condizioni non viene intrapresa nessuna azione.

 

 

Espressioni condizionali

Le espressioni condizionali possono essere facilmente formulate più genericamente con la sintassi

(condizione) ? ramoIf : ramoElse;

Viene dapprima valutata la condizione logica, se è vera viene eseguito il blocco di istruzioni costituito dal ramoIf altrimenti viene eseguito il ramoElse.
Ad esempio l’espressione

(a>b) ? max=a : max=b;

determina il massimo tra i valori delle due variabili (a) e (b) assegnandolo alla variabile (max).

Nelle espressioni condizionali non si è vincolati ad usare espressioni operatori relazionali e logici, è richiesto soltanto che la valutazione dell’espressione condizionale porti soltanto ad un valore uguale a zero (falso) o diverso da zero (vero). Ad.es. nel seguente programma si esegue la divisione fra due interi e si usa un’espressione if per evitare la divisione per zero: 

main()

int a=3, b=2;
if(b) cout< 
else cout<<”impossibile”; 
}

Bisogna quindi considerare che l’espressione come if(b) equivale all’espressione if(b!=0)
e l’espressione if(!b) equivale a if(b==0)
.

 {/gspeech} 

Commento all'articolo