Come in tutti i linguaggi di programmazione anche in Scratch un ruolo di primo piano è ricoperto dal concetto di variabile.
Le variabili, in programmazione, sono delle porzioni di memoria che vengono "riempite" con dei dati volatili, cioè che possono cambiare durante l’esecuzione del programma.
Una variabile può contenere dei dati sotto forma di numero, di stringa, vettore, ecc.
In quasi tutti i linguaggi di programmazione le variabili si definiscono mediante l’operatore di eguaglianza, in questo modo:
mioNome = "Massimiliano"
Nell’esempio qui sopra "mioNome" è l’identificativo univoco della variabile, "Massimiliano" è il suo valore (cioè i dati – sotto forma di stringa – in essa memorizzati).
Creare variabili in Scratch
Anche Scratch, ovviamente, consente di creare variabili. Per farlo si utilizzano i Blocchi e si seleziona l’apposita categoria "Variabili". Si clicca sul pulsante "Crea una variabile".
Così facendo si aprirà una finestra in cui ci verrà chiesto:
- di assegnare un nome alla variabile;
- di definire il suo ambito di validità o scope (questo Sprite o tutti gli Sprite).
Ai nostri fini creiamo una variabile col nome "MyVar" e selezioniamo "Per tutti gli Sprite".
Come potete vedere, nella colonna di sinistra, sono comparse nuove mattonelle arancio del tipo "Porta MyVar a …", "Cambia MyVar di …", ecc.
Proviamo ora ad implementare le variabili nel nostro progetto. In questo modo:
Ancora una volta vediamo, passo passo, cosa è stato fatto:
- Il primo blocco (giallo) appartiene alla categoria "Situazioni" e crea uno specifico evento (il click sulla bandiera verde).
- Il secondo blocco (arancio) appartiene alla categoria "variabili" ed assegna a "MyVar" il valore "Ciao".
- Il terzo blocco (viola) appartiene alla categoria "Aspetto" e fa dire al gatto il valore attuale della variabile "MyVar" (si noti che la variabile è stata trscinata dentro al blocco "dire").
Fino a qui potrebbe sembrare poca cosa ma le variabili sprigionano tutta la loro potenzialità quando si inserisce nel progetto l’elemento dell’interazione con l’utente…
Esempio di utilizzo delle Variabili in combinazione ai Sensori
Ancora una volta creiamo un nuovo progetto Scratch. Selezioniamo il solito Sprite del gatto e creiamo un paio di variabili: la prima la chiameremo "nome" e la seconda "anni".
Ora creiamo questa programmazione:
Come al solito spieghiamo cosa è stato fatto:
- Il primo blocco (giallo) appartiene alla categoria "Situazioni" e crea uno specifico evento (il click sulla bandiera verde).
- Il secondo blocco (azzurro) appartiene alla categoria "Sensori" e crea un’interazione con l’utente: il gatto farà una domanda a cui l’utente dovrà digitare una risposta.
- Il terzo blocco (arancio) appartiene alla categoria "Variabili" e assegna a "nome" il valore digitato dall’utente in risposta alla precedente domanda.
- Il quarto blocco (azzurro) appartiene nuovamente alla categoria "Sensori" e crea una seconda domanda.
- Il quinto blocco (arancio) appartiene nuovamente alla categoria "Variabili" e assegna a "anni" il valore digitato dall’utente in risposta alla precedente domanda.
- Il sesto blocco (viola) appartiene alla categoria "Aspetto" e fa dire qualcosa al gatto… ciò che dice il gatto è il frutto di una concatenazione di stringhe (effettuata mediante l’apposito operatore) in cui sono comprese le due variabili.
- L’ultimo blocco (ocra) appartiene alla categoria "Controlli" e determina la chiusura del programma.
Per osservare l’effetto del nostro programma si clicchi sulla bandierina verde.
Nel nostro esempio abbiamo avuto modo di testare più a fondo il funzionamento delle variabili quali "archivi" di dati (nel nostro esempio il nome e l’età dell’utente) da poter utilizzare all’interno del programma.
Abbiamo altresì avuto modo di provare il funzionamento dei Blocchi Sensore e dei Blocchi Operatore che abbiamo presentato nella lezione precedente della nostra guida.