Trascrizione del fumetto
Quadro 1.
Alkina: Epo, ci sono aggiornamenti su quando il sistema di navigazione sarà di nuovo in funzione?
Epo: Kodu deve aver alterato una parte critica del sistema che non sono ancora riuscito a trovare.
Quadro 2.
Laby: Che sfortuna. Quando potrò “twittare” di nuovo?
Epo: La mia priorità adesso è quella di far funzionare il sistema operativo di navigazione.
Quadro 3.
Laby: Kodu, tu passerai seri guai quando torniamo!
Ludd: Smetti di darle fastidio, Laby! Allora, Kodu, come si condividono le variabili tra funzioni?
Quadro 4.
Kodu: Buona domanda, Ludd. Le funzioni possono richiedere dei valori in ingresso, chiamati parametri. Le variabili che vengono passate sono chiamate gli argomenti della funzione.
Ludd: Come tornano indietro i risultati di una funzione?
Quadro 5.
Kodu: Una funzione può restituire i valori alla funzione che l’ha chiamata.
Baltie: Ma una funzione non deve restituire un valore.
Quadro 6.
Kodu: Caspita, Baltie, ti piace interrompere, vero?
Nascondere la trascrizione
Cosa significa?
Parametro – un particolare tipo di variabile che può essere richiesto in ingresso da una funzione. Se la variabile da passare alla funzione non corrisponde al tipo di dati che la funzione si aspetta, il programma produrrà un errore.
Argomento – è la variabile che viene passata ad una funzione.
Valore di ritorno – è il risultato finale di una funzione che viene restituito indietro alla funzione chiamante.
Nella nostra lingua per favore!
Ora che abbiamo discusso alcuni dei componenti base di un programma, diamo un’occhiata a un esempio. Start Program
String name
Main {
Print “Per favore, inserisci il tuo nome:”
Input name
DisplayName(name)
}
Void DisplayName(String username) {
Print “Ciao ” + username
}
End Program
Il programma sopra non utilizza nessun particolare linguaggio di programmazione, ma da un’idea di come appare un programma per computer. Ecco cosa significa ognuna delle linee. String name
è la dichiarazione di una variabile di tipo “String”, cioè una stringa di caratteri. Main
Un programma può essere fatto da molte funzioni che non devono essere necessariamente scritte nell’ordine in cui verranno eseguite. Il programma deve quindi sapere da dove iniziare. Nei moderni linguaggi di programmazione di solito c’è una funzione principale chiamata appunto “main”, dalla quale il programma inizia. L’inizio e la fine di una funzione sono di solito indicati rispettivamente da una parentesi graffa aperta “{” e una chiusa “}”. Print “Per favore, inserisci il tuo nome:”
Questa riga visualizza il testo per l’utente “Per favore, inserisci il tuo nome:”. La parola “Print” all’inizio della linea (che vuol dire “Stampa” in inglese) è una funzione del linguaggio di programmazione cosiddetta “built-in”, ovvero una funzione già incorporata nel linguaggio e che i programmatori non devono definire. Essa mostra un testo all’utente. Input name
“Input” (che vuol dire “Ingresso” in inglese) è un’altra funzione “built-in”. Essa prende l’input da parte dell’utente e lo assegna alla variabile “name” (che vuol dire “nome” in inglese) definita precedentemente di tipo “stringa”. DisplayName(name)
Questa linea chiama la funzione “DisplayName” e gli passa l’argomento “name”. Void DisplayName(String username)
Questo è l’inizio di una nuova funzione. “Void” (“Vuoto”) significa che questa funzione non restituisce alcun valore. “username” (che significa “nome utente” in inglese) è il parametro che questa funzione accetta in ingresso, e che è del tipo “String”. E’ simile alla dichiarazione di una variabile all’interno della definizione di una funzione. La ragione per cui è utilizzata la variabile “username” è perché una funzione può avere più di un parametro di tipo “String” ed ogni parametro deve essere distinto attraverso la sua variabile. Le variabili possono essere identificate con un nome qualsiasi. Ad esempio, invece di “username” avremmo potuto usare “x.” Tuttavia, è molto utile utilizzare nomi di variabili che rendono più facile al programmatore sapere che cosa è ciascuna variabile. Allo stesso modo, è una buona abitudine nominare le funzioni secondo quello che fanno. E’ abbastanza facile dire capire cosa fa la funzione “DisplayName” che in inglese significa “Visualizza il nome”. Print “Ciao ” + username
Capisci adesso cosa fa questa riga di codice?
Questo naturalmente, è un esempio molto semplice che utilizza alcune delle idee di cui abbiamo già parlato. In un certo senso, questo programma è più complicato di quanto dovrebbe essere, ma è stato fatto per illustrare i concetti di cui abbiamo parlato negli episodi recenti. Come si potrebbe semplificare questo programma?