Eposodio 149: Se questo, allora cosa?

Trascrizione del fumetto

Quadro 1.
Baltie: Kodu, non sei l’unica che sa programmare un computer, sai!
Kodu: Certo, Baltie, ma Ludd lo sta chiedendo a me, non è vero,

Quadro 2.
Ludd: Umm… hmm… ma come si fa a programmare una scelta tra diverse opzioni? Per esempio, voglio che una funzione faccia una determinata cosa se una variabile ha un certo valore e qualcosa di diverso se la variabile ha un altro valore.

Quadro 3.
Kodu: Ah, con le istruzioni condizionali. Sì, questo è molto importante nella programmazione. Ci sono un paio di modi diversi per gestire questa cosa.

Quadro 4.
Kodu: Un modo è usare l’istruzione “if” (che significa “se” in inglese) …
Ludd: Un pò come quello che ho detto.
Kodu: Sì. È possibile utilizzare “if” per verificare il valore di una variabile. Il programma fa una cosa se la variabile ha un certo valore, o qualcosa d’altro se non lo ha.
Ludd: E’ possibile utilizzare più istruzioni “if” per verificare una variabile a valori multipli in modo che il programma faccia quello che si vuole a seconda del valore?

Quadro 5.
Kodu: Certo si può… ma c’è un modo migliore per farlo.

Nascondere la trascrizione

Cosa significa?

Instruzione condizionale – In poche parole, un’istruzione condizionale verifica se una determinata condizione è vera o falsa. Poi esegue un determinato blocco di codice, se la condizione è vera, e un blocco diverso se è falsa.

Nella nostra lingua per favore!

Molto spesso, un programma deve prendere delle decisioni sulla base di informazioni in ingresso da parte di un utente o di un sensore o a seconda dei risultati dei calcoli fatti all’interno del programma. Uno dei modi in cui un programma prende decisioni, come discusso nel fumetto, è quello di utilizzare l’istruzione “if”. Vediamo un esempio. Start Program

String activity
Int age

Main {

Print “Please enter your age: ”
Input age
activity = AgeCheck(age)
Print activity

}

String AgeCheck(int userAge) {

If ( userAge > 15)
Return “You can drive!”
Else
Return “You have to wait.”

}

End Program

Parte del codice in questo esempio è stato discusso nell’ ultimo episodio. Qui ci sono le spiegazioni della parte nuova. Int age

“Int” è l’abbreviazione di numero intero ed è il tipo di dato associato ai numeri interi.      activity = AgeCheck(age)

Questa linea chiama la funzione “AgeCheck” (significa “Controllo età” in inglese) passandogli l’argomento “age” (età) ed assegna il risultato alla variabile “activity” (“attività”).      String AgeCheck(Int userAge)

Si noti che questa funzione inizia con “String” al contrario di “Void” che abbiamo usato nell’ultimo esempio. Ciò significa che questa funzione restituisce un valore di tipo stringa. Si noti inoltre, che il parametro richiesto da questa funzione è di tipo “Int” (cioè intero). Le funzioni possono restituire dati di tipo diverso rispetto ai parametri in ingresso.      If ( userAge > 15)
Return “You can drive!”
Else
Return “You have to wait.”

Questa sezione è un esempio di codice condizionale. La prima linea controlla se il valore dell’argomento passato dalla funzione “Main” è maggiore di 15. Se è così, la funzione “AgeCheck” restituisce la stringa “Si può guidare!” alla funzione “Main”. Se il valore è inferiore a 15 la funzione restituisce la stringa “Devi aspettare”.
L’utilizzo di un blocco condizionale “if” ha senso se si confrontano due o più valori. Si può sempre concatenare tutta una serie di istruzioni “if-else” (“se-altrimenti”). Nella prossima puntata parleremo di un altro tipo di istruzione condizionale. Restate sintonizzati.