Il Ruolo del Gioco
Logo IRDG
Logo IRDG
Home Page - - Forum Istituzionale - Contattaci

3) Programmazione Condizionale


Una delle prime situazioni che un programmatore si trova ad affrontare, sono le condizioni.

Pensiamo banalmente ad un programma che, dati 2 numeri, esegue la divisione tra il primo e il secondo. qualora il secondo numero sia uno 0 il programma ci restituirebbe un errore. Ci troviamo quindi nella necessità di gestire una consizione.

Per fare questa, e altre operazioni similari, ci vengono incontro dei costrutti genericamente conosciute con il nome di Condizionali (if, e switch-case)

Sebbene ogni linguaggio usa le sue forme sintattiche, il concetto di base rimane sempre  lo stesso... vediamolo nello specifico:

 

IF: esegui il codice se una condizione è vera) per condizione si intende qualcosa che può essere vera o falsa, es: if (variabile=1), ci sono vari livelli di complessità in base alle esigenze specifiche

1) IF (condizione) THEN (esecuzione) END IF

qualora (condizione) risulti vera, viene eseguito il codice contenuto in (esecuzione)

 

2) IF (condizione) THEN (esecuzione1) ELSE (esecuzione2) END IF

qualora (condizione) risulti vera, viene eseguito il codice contenuto in (esecuzione1) altrimenti (se falsa) viene eseguita (esecuzione2)

 

3) IF (condizione1) THEN (esecuzione1) ELSEIF (condizione2) THEN (esecuzione2) END IF

qualora (condizione1) risulti vera, viene eseguito il codice contenuto in (esecuzione1) altrimenti, se falsa, viene verificata (condizione2) e, se vera, viene eseguita (condizione2)

tale forma generalmente può avere quanti ELSEIF si desidera e può terminare con un ELSE semplice, come da forma 2

 

SWITCH-CASE: verifica una situazione scegli il caso che la verifica

SWITCH (situazione)

CASE (caso1) THEN (esecuzione1)

CASE (caso2) THEN (esecuzione2)

CASE ELSE (esecuzioneelse)

viene valutata una situazione (as esempio il valore di una variabile) e viene confrontata con i vari casi (es: "minore di 5" oppure "uguale a 10") qualora uno o più casi si verifichi, viene eseguito il codice relativo. nel caso non se ne verifichi nessuno, viene eseguito (esecuzioneelse)

 

Pur esistendo una netta somiglianza tra la forma 3 del’IF e lo SWITCH, essi presentano 2 differenze molto importanti:

lo SWITCH verifica una sola situazione con molti casi, mentre lIF può verificare ogni volta cose diverse; es: IF (numero1=5 )... ELSEIF (numero2=9)...

di contro l’IF può avere un solo risultato positivo (e quindi una sola esecuzione), in quanto le verifiche successive vengono fatte eseguite solo se le precendeti sono false, mentre lo SWITCH (se non istruito diversamente qualora il linguaggio lo permetta) potrebbe eseguire anche tutte le (esecuzione); es: caso1 è "uguale a 3" e caso 2 è "minore di 5".