Istruzione decisionali (se, allora, altrimenti)

Spiegazione

Iniziamo subito con un esempio semplice e molto intuibile:

Condizione iniziale: luce spenta. SE premo l’interruttore, ALLORA accendi la luce, ALTRIMENTI la luce rimane spenta.

Adesso passiamo ad un esempio con un SE (o IF) annidato:

ATTENZIONE! L’esercizio che vedrai adesso non è un esercizio reale nello pseudolinguaggio. Se ti interessa l’esercizio reale, clicca qui (ultimo paragrafo).

Condizione iniziale: il numero è 50.

SE il numero è minore di 100
	ALLORA
       		SE il numero è contemporaneamente maggiore di 30
           		ALLORA 
               			scrivi "Il numero è intermedio"
           		ALTRIMENTI 
               			scrivi "Il numero è basso"
		FINE_SE
   	ALTRIMENTI
       		scrivi "Il numero è alto"
FINE_SE

Secondo questa logica, il numero 50 sarà intermedio. Ho evidenziato i due SE con colori diversi.

I se-altrimenti sono quasi sempre chiamati IF ELSE (letteralmente dall’inglese: se altrimenti).

Come si codifica

Praticamente, nell’esempio sopra hai già visto come funziona, con l’indentazione corretta. Ovviamente, sopra e sotto ci saranno INIZIO e FINE, e magari altre istruzioni.

Ogni IF deve iniziare con la parola chiave SE e finire con la parola chiave FINE_SE, sempre sulla stessa “colonna”. Nel mezzo, poi, ci andranno le parole chiave ALLORA con il seguente codice, che viene eseguito se la condizione espressa nel SE è vera, e/o ALTRIMENTI con il seguente codice, che viene eseguito se la condizione espressa dal SE è falsa.

Il blocco ALTRIMENTI può essere omesso in certi casi, e spesso è più conveniente.

L’indentazione, che differenza!

Confronta il programma scritto sopra, indentato, con quello che ti propongo qui sotto, non indentato.

SE il numero è minore di 100
ALLORA
SE il numero è contemporaneamente maggiore di 30
ALLORA 
scrivi "Il numero è basso"
ALTRIMENTI 
scrivi "Il numero è intermedio"
FINE_SE
ALTRIMENTI
scrivi "Il numero è alto"
FINE_SE

Come vedi, questo non indentato crea solo confusione e non fa capire di che SE fanno parte gli ALLORA e gli ALTRIMENTI.

Esempio reale e completo con i SE

Ovviamente quello che ho scritto sopra è solo uno schizzo, ma non è esattamente come dice lo pseudolinguaggio.

La condizione del SE, ad esempio, deve essere tra parentesi.

Ecco quindi l’esercizio proposto precedentemente, in pseudolinguaggio:

INIZIO
	leggi numero
	
	SE (numero<100)
		ALLORA
			SE (numero>30)
			    ALLORA
				scrivi "Il numero è basso"
			    ALTRIMENTI
				scrivi "Il numero è intermedio"
			FINE_SE
		ALTRIMENTI
			scrivi "Il numero è alto"
	FINE_SE
FINE

Per questioni di spazio non riesco a indentare con spazi della stessa grandezza, ma voi fatelo!

Ora sei pronto per fare qualche esercizio in più sugli IF ELSE!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.