Costrutto if
E' la struttura di alternativa per la selezione.
E' 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<<a/b;
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).
|