Einstein Piu Coding
Einstein Piu Coding
ti
Einstein
S
97 Co tein - M.
Più
Questo volume, sprovvisto del talloncino a fronte (o opportunamente punzonato o
6-
s ti
70
n t
altrimenti contrassegnato), è da considerarsi copia di SAGGIO-CAMPIONE G RATUITO,
Ei sare
-4 g
-2
fuori commercio (vendita e altri atti di disposizione vietati: art. 17, c. 2 L. 633/1941).
72
Ce
8- d
Esente da I.V.A. (D.P.R. 26-10-1972, n° 633, art. 2 lett. d). Esente da bolla di accompa-
L.
Einstein Più
Alla scoperta della Tecnologia
Alla scoperta della Tecnologia
Scuola secondaria di primo grado
Einstein Più
Coding
Per lo studente Per il docente
• Guida per il docente
• Tecnologia • Tavole per il disegno
• DVD M.I.O. BOOK Docente
• Disegno • Tecnologia per studenti con BES (con CD Audio MP3)
• CD Audio MP3
• Coding • DVD M.I.O. BOOK Studente
• Vademecum BES
Configurazioni di vendita
ISBN 978-88-472-2771-2 Tecnologia + Disegno + Tavole per il disegno + Coding + Informatica + DVD M.I.O. BOOK Studente € 29,50
Coding
ISBN 978-88-472-2772-9 Tecnologia + Disegno + Tavole per il disegno + Coding + DVD M.I.O. BOOK Studente € 24,50
ISBN 978-88-472-2773-6 Tecnologia + Disegno + Coding + DVD M.I.O. BOOK Studente € 22,90
ISBN 978-88-472-2774-3 Tecnologia + Disegno + Tavole per il disegno + DVD M.I.O. BOOK Studente € 22,90
ISBN 978-88-472-2775-0 Tecnologia + Disegno + DVD M.I.O. BOOK Studente € 20,50
ISBN 978-88-472-2776-7 Tecnologia + Coding + DVD M.I.O. BOOK Studente € 18,00
ISBN 978-88-472-2701-9 Tecnologia + DVD M.I.O. BOOK Studente € 16,50
• Lezioni per imparare a programmare
ISBN 978-88-472-2777-4 Disegno + Tavole per il disegno + DVD M.I.O. BOOK Studente € 12,50
ISBN 978-88-472-2044-7 Informatica + DVD M.I.O. BOOK Studente € 9,50 con Scratch
ISBN 978-88-472-2705-7 Tecnologia per studenti con BES + CD Audio MP3 € 7,50
ISBN 978-88-472-2706-4 Coding € 6,00
Prezzo di vendita
al pubblico
docenti che vogliono conoscere L’attenzione e la cura necessarie per la realizzazione di un libro spesso non sono sufficienti a evitare
SUPPORTO le potenzialità e i vantaggi completamente la presenza di sviste o di piccole imprecisioni. Invitiamo pertanto il lettore a segnalare
sia dei nostri strumenti sia le eventuali inesattezze riscontrate. Ci saranno utili per le future ristampe.
Per gli utenti con dubbi e
richieste sono disponibili delle tecnologie che stanno
un forum e una email invadendo il panorama della
dedicata. didattica.
Tutti i diritti sono riservati.
© 2017
Einstein Più
Alla scoperta della Tecnologia
Scuola secondaria di primo grado
Coding
INDICE
LEZIONE
2
Indice
LEZIONE
Creare un videogioco
10
Creare il tuo videogioco ............................................................................................................................................. 70
Si può giocare anche con... i rifiuti! ................................................................................................................ 71
Le specifiche del gioco da costruire .............................................................................................................. 72
Creare il videogioco in Scratch ........................................................................................................................... 72
Qualche idea per usare il videogioco .......................................................................................................... 77
SFIDE ............................................................................................................................................................................. 77
Soluzioni ......................................................................................................................................................................................................................... 78
3
LEZIONE 1 Il pensiero computazionale e il coding
1
LEZIONE
Il pensiero computazionale
e il coding
CONCETTI CHIAVE DELLA LEZIONE
Probabilmente, leggendo queste righe, starai pensando che tali principi hanno a che fare
con il funzionamento di un cervello elettronico ma non ti riguardano più di tanto.
Eppure, basta poco per trovare esempi di pensiero computazionale nella vita
quotidiana. Ad esempio, se vuoi cucinare una torta per la prima volta, per
non commettere errori probabilmente cercherai sullo smartphone o sul
computer la ricetta che contiene, oltre all’elenco degli ingredienti, la sequen-
za ordinata delle operazioni da compiere per risolvere il tuo «problema»
gastronomico.
4
Il pensiero computazionale e il coding LEZIONE 1
Puoi quindi considerare le ricette un tipo molto piacevole di algoritmo. Ma anche quando
hai imparato a svolgere le divisioni in colonna stavi applicando un algoritmo.
Un altro esempio, utile per capire il concetto di scomposizione: ti sarà capitato di prendere
parte a un lavoro di gruppo per raggiungere un obiettivo, magari un problema troppo gran-
de da risolvere tutto insieme, ma che è diventato affrontabile con la sua scomposizione in
step progressivi da risolvere in sequenza o in sottoproblemi affrontati da diverse persone.
Gli esempi potrebbero essere tanti: preparare una ricerca per la scuola, realizzare uno spet-
tacolo, organizzare una festa di compleanno...
Ancora, quante volte ti sarà capitato, davanti a una situazione difficile (in famiglia, con gli
amici, a scuola), di fare mente locale nella tua memoria per ricercare qualche esperienza
simile vissuta in passato ed estrapolare le risposte che sono state efficaci per risolverla?
Questo è un caso di astrazione e generalizzazione.
Il riconoscimento dei pattern, o schemi, è l’operazione che compi quando rilevi uno sche-
ma simile o delle regolarità in situazioni diverse tra loro: se in un problema di matematica
è dato un triangolo rettangolo del quale è richiesta la misura di un lato conoscendo gli altri
due, sai di dover applicare il teorema di Pitagora. Il riconoscimento dei pattern consente di
ridurre la varietà dei problemi a un numero gestibile di situazioni e di applicare quindi per
ciascuna di esse una o più strategie definite.
Il pensiero computazionale dà, in conclusione, importanti contributi in molti settori della
società: sta alla base del lavoro svolto dai robot industriali o di quelli che effettuano opera-
zioni chirurgiche, ci permette di trovare con qualche clic le informazioni che cerchiamo sui
motori di ricerca, permette ai meteorologi di creare modelli per studiare e predire i cambia-
menti del clima e così via.
Il diagramma di flusso
INIZIO
Proviamo a costruire un algoritmo che risolva un’operazione piuttosto sempli-
ce e frequente: accendere un telefono cellulare. Quali sono le operazioni che
devi eseguire?
• Premere il pulsante di accensione
Accendere il cellulare
• Digitare il codice PIN
• Se il PIN digitato è errato, si torna a scriverlo
• Se si sbaglia il PIN per tre volte il cellulare si blocca; altrimenti il telefono
Digitare il
diventa attivo
codice PIN
Questo algoritmo, che si presenta come una sequenza di operazioni, può esse-
re rappresentato in maniera ancora più chiara con uno strumento molto utile:
il diagramma di flusso.
Potremmo disegnare uno schema come quello nella figura 1.
Il codice è SÌ Cellulare
acceso Il diagramma di flusso è un modello grafico utilizzato dai programmatori per
corretto?
FINE schematizzare i problemi che devono risolvere prima di iniziare a programmare
nei loro ambienti di sviluppo. Anche per chi ha molta esperienza è importante
partire da schemi di questo tipo, che aiutano a commettere meno errori quando
NO
si va a costruire il programma vero e proprio.
In un diagramma di flusso ci sono delle regole che devi conoscere e rispettare
Il codice è
affinché il modello creato sia comprensibile a tutti:
NO
scritto più • si devono inserire blocchi di inizio e di fine del diagramma, come quelli
di tre volte? nella figura 2;
• se si devono leggere dati dall’esterno o devono essere mostrati dati all’ester-
SÌ no, si usa il blocco a forma di parallelogramma come nella figura 3 (Input/
Output);
Cellulare bloccato • per elaborare dati, ad esempio operazioni matematiche, si può utilizzare il
FINE rettangolo nella figura 4;
• se si devono prendere decisioni e valutare delle condizioni, si può usare il
«blocco condizionale» a forma di rombo (figura 5): se la domanda che ci si
pone ha una risposta positiva si esegue una certa operazione, se la risposta è
Figura 1 negativa se ne esegue un’altra;
6
Il pensiero computazionale e il coding LEZIONE 1
Nelle prossime lezioni utilizzeremo più volte il diagramma di flusso per schematizzare i
problemi che poi verranno risolti creando delle sequenze con Scratch.
Figura 2
SÌ
Domanda?
Soluzioni a pagina 78
SFIDE
1. Come si potrebbe rappresentare con un diagramma di flusso il comportamento di un robot (ad esempio quelli utilizzati per le
pulizie di casa) che si muove ma si ferma quando incontra un ostacolo a una certa distanza (ad esempio 30 cm)?
Prova utilizzando i seguenti blocchi.
Distanza
Leggi il valore <= INIZIO
del sensore 30 cm
Accendi Spegni
FINE
i motori i motori
2. Prova a costruire un algoritmo che risolva un’operazione quotidiana: preparare lo zaino per la scuola. Immagina di aver scritto
le materie della giornata sul diario e che tutti i libri si trovino sopra una scrivania.
Ecco una lista di operazioni che potresti usare per costruire il diagramma di flusso:
• Leggo la prima materia
• Prendo un libro dalla scrivania
• Controllo che il libro corrisponda alla materia che ho letto: se corrisponde lo metto nello zaino, altrimenti prendo un altro libro
• Inserisco il libro nello zaino
• Leggo la seconda materia
E così via fino a quando non avrai trovato il libro corrispondente all’ultima materia della giornata. Il diagramma da realizzare
diventerebbe però molto lungo se avessi 5 o 6 materie da leggere prima di completare lo zaino.
Ecco altri suggerimenti che ti possono quindi aiutare:
• Utilizza la dicitura MATERIA N
• All’inizio imposta N = 1 con un blocco di elaborazione
• Dopo aver trovato il libro corrispondente alla materia, incrementa il valore di N (scrivi in un blocco di elaborazione N = N+1)
e leggi la nuova materia
7
LEZIONE 2 Primi passi all’interno di Scratch
2
LEZIONE
Scratch
Siete pronti a iniziare questa avventura informatica?
Nel nostro percorso utilizzeremo Scratch, un ambiente di programmazione creato all’in-
terno del MIT (Massachusetts Institute of Technology), uno dei più importanti centri di ricer-
ca del mondo. Nello specifico, Scratch è stato creato grazie al lavoro del Lifelong Kindergar-
ten Group dei Media Lab del MIT, gruppo di ricerca guidato dal prof. Mitchel Resnick, che
si occupa di come le persone possono apprendere, progettare e creare grazie anche alle
nuove tecnologie.
Puoi scaricare Scratch gratuitamente dal link [Link]
seguendo la procedura guidata che trovi nella figura 1:
• se nel tuo computer non è presente, scarica e installa Adobe Air;
• effettua il download e installa Scratch 2.0 Offline Editor;
• se vuoi puoi accedere ad alcuni progetti di esempio e ad alcune delle guide per iniziare
a lavorare con Scratch (le guide sono in inglese).
N.B. In questo volume si fa riferimento alla versione 450.1 di Scratch 2.
È anche possibile utilizzare Scratch direttamente online: accedi al sito [Link]
e troverai la schermata mostrata nella figura 2. Cliccando su Crea (in alto a sinistra) potrai
iniziare a costruire le tue sequenze creative di blocchi.
Figura 1
Figura 2
8
Primi passi all’interno di Scratch LEZIONE 2
Come puoi vedere dalla homepage del sito di Scratch, possono essere anche condivisi dei
progetti con gli altri utenti: al momento ne puoi trovare alcuni milioni, in continuo au-
mento. Sicuramente troverai tanti spunti per inventare animazioni, storie animate, simu-
lazioni, videogiochi… e tutto quello che ti verrà in mente.
Per condividere progetti è necessario iscriversi alla comunità di Scratch. La procedura è
molto semplice e la puoi eseguire cliccando su Unisciti alla comunità di Scratch, in alto
a destra nella figura 2: può essere molto stimolante condividere i tuoi progetti con altri
creati da ragazzi di ogni parte del mondo.
Ma torniamo al nostro Scratch. Dopo averlo installato, facendo doppio clic sull’icona pre-
Figura 3 sente sul tuo desktop si aprirà la schermata nella figura 3.
STAGE
SFONDI
Figura 4 Per cambiare lingua puoi cliccare sul mappamondo in alto a si-
nistra nella schermata iniziale di Scratch (figura 4) e, scorrendo
tra le lingue presenti, scegliere l’italiano.
9
LEZIONE 2 Primi passi all’interno di Scratch
• In basso a sinistra c’è la finestra degli stage (figura 6), dove sono presenti i tasti per sceglie-
re un nuovo stage dalla libreria di Scratch, disegnarne uno nuovo, caricarlo scegliendo un
file presente nel computer oppure facendo una foto con la webcam del computer. Atten-
zione a un particolare molto importante: quando si clicca sullo sfondo in questa finestra,
cambia anche la parte centrale della schermata (come nella figura 7, in alto, dove si trova-
no anche le categorie Script, Sfondi, Suoni), quindi le sequenze che si costruiranno e i
suoni che si sceglieranno si riferiranno allo sfondo, o agli sfondi, e non agli sprite!
• Nell’area centrale sotto lo stage c’è la finestra degli sprite, dove si trovano le icone da se-
lezionare per inserire un nuovo sprite scegliendo dalla libreria di Scratch, disegnarne
uno nuovo, caricarne uno scegliendo un file nel computer oppure facendo una foto con
la webcam del computer. Cliccando su uno sprite la parte centrale in alto della scherma-
ta è caratterizzata dalle seguenti voci: Script, Costumi, Suoni (a differenza di quanto
avevamo visto nel punto precedente per gli stage).
Figura 6
• A destra dello stage ci sono tutte le categorie di blocchi (figura 7) da utilizzare per co-
struire gli script, contrassegnati da colori differenti: Movimento (servono a far muovere
gli sprite rispetto allo sfondo), Aspetto (servono a cambiare caratteristiche grafiche
degli sprite, come ad esempio i costumi), Suono (servono a inserire suoni nelle sequen-
ze), Penna (servono a far disegnare lo sprite selezionato), Variabili e Liste (servono a
inserire variabili e liste all’interno dei progetti), Situazioni (permettono di gestire gli
eventi all’interno degli script), Controllo (dove ci sono i blocchi che permettono di
gestire il flusso di esecuzione della sequenza), Sensori (servono ad acquisire informa-
zioni dagli sprite, dall’utente che sta usando il programma, dal mouse, dal microfono
del computer ecc.), Operatori (servono a inserire operazioni logiche o matematiche
nella sequenza) e, infine, Altri Blocchi (permette di creare blocchi personalizzati). Non
preoccuparti se ancora non ti è tutto chiaro: scopriremo e approfondiremo le categorie
appena presentate nelle lezioni successive (saranno comunque sempre riconoscibili
grazie al testo evidenziato con il colore della categoria).
• Se si hanno dubbi o curiosità su un blocco, si può
cliccare sul punto di domanda in alto, al centro
della schermata (figura 8) e poi cliccare sul blocco
del quale si desiderano informazioni: si apriranno
lateralmente i suggerimenti di Scratch con le indi-
cazioni richieste. In alternativa, si può cliccare sul
blocco con il tasto destro del mouse e selezionare
la voce Aiuto.
• Le altre icone mostrate nella figura 8 possono ser-
vire a (da sinistra verso destra): duplicare uno
sprite, rimuovere uno sprite, ingrandire o ridurre le
dimensioni di uno sprite.
• Per salvare un progetto basta cliccare su File (figu-
ra 4) e poi su Salva o Salva con nome (a seconda se
il progetto è già salvato o meno): si potrà scegliere
il percorso nel quale archiviare il progetto creato.
Figura 7 Figura 8
10
Primi passi all’interno di Scratch LEZIONE 2
Figura 9
• seleziona poi la categoria Aspetto, trascina con il mouse il blocco cambia effetto
colore di 25 nell’area degli script e vedrai che se lasci il tasto sinistro del mouse
quando i due blocchi sono vicini in automatico si agganceranno. Puoi decidere di
rilasciare il tasto del mouse quando l’estremità inferiore del blocco al quale vuoi
attaccare quello che stai trascinando si colora di bianco, come vedi nella figura 10.
Figura 10
Ora prova a premere il tasto spazio per vedere cosa succede al gatto nello stage!
Hai realizzato un primo, semplice, esercizio di programmazione, che potrai arricchire
e modificare a tuo piacimento. Ad esempio, si può cambiare il tasto con il quale atti-
vare la sequenza appena costruita: prova a cliccare sul triangolo nero di fianco la pa-
rola «spazio», all’interno del blocco quando si preme il tasto spazio (figura 11) e
comparirà un menù nel quale selezionare il tasto che si desidera (per scorrere tutto il
menù posiziona il puntatore sul triangolo bianco in fondo).
In generale, in ogni blocco contenente il triangolo nero di selezione si può cliccare e
Figura 11 vedere quali sono le opzioni da scegliere. Nel caso del nostro esempio potresti verifica-
re quali sono le scelte disponibili anche per il blocco cambia effetto colore di 25 .
11
LEZIONE 2 Primi passi all’interno di Scratch
Per proseguire l’esercizio di prova, aggancia il blocco dire Hello! per 2 secondi (si trova
nella categoria Aspetto) alla sequenza che abbiamo costruito fino a questo momento. Se
provi ad attivare lo script, vedrai che dopo aver cambiato colore il gatto Scratch dirà (grazie
a un fumetto) la parola «Hello!» per 2 secondi. Se volessimo cambiare la parola o la frase
che compare, è necessario fare doppio clic con il tasto sinistro del mouse sopra la parola
«Hello!», che diventerà evidenziata in azzurro (figura 12). Ora non occorre far altro che
digitare la frase che si desidera: questa comparirà nel fumetto del personaggio. Con la
stessa procedura si può cambiare il numero di secondi in cui il fumetto rimane visibile.
Figura 12
Figura 13
Si potrebbero, inoltre, anche aggiungere altri blocchi alla sequenza (figura 14), ad esempio
produci suono miao (categoria Suono).
Figura 14
12
Primi passi all’interno di Scratch LEZIONE 2
E se volessimo cancellare un blocco? Trascina lontano con il mouse i blocchi che si trova-
no di seguito a quello che vuoi eliminare (ad esempio cambia effetto colore di 25 ),
come nella figura 15. Stacca il blocco che vuoi eliminare e trascinalo nell’area centrale in
cui si trovano tutti i blocchi (figura 16); in alternativa cliccaci sopra con il tasto destro del
mouse e seleziona cancella. Aggancia infine la parte di sequenza che avevi staccato ai bloc-
chi rimasti al di sopra di quello che hai eliminato (figura 17).
Figura 15
Figura 16
Figura 17
Soluzioni a pagina 78
SFIDE
1. Rispondi alle seguenti domande.
1. Che cos’è lo stage?
A. Il personaggio presente sulla scena al quale si possono assegnare sequenze di istruzioni
B. La sequenza di istruzioni assegnata a uno sprite
C. Lo scenario in cui è presente lo sprite e in cui si svolgono storie, giochi o presentazioni
2. Se devi inviare a uno sprite informazioni provenienti dall’ambiente esterno (come suoni o
movimenti del mouse) quale categoria di blocchi devi usare?
A. Movimento
B. Controllo
C. Sensori
3. A che cosa servono i blocchi della categoria Operatori?
A. A far svolgere operazioni matematiche o logiche dentro lo script
B. A far muovere lo sprite rispetto alla scena
C. A creare blocchi personalizzati
13
LEZIONE 3 Sequenze di istruzioni elementari e figure geometriche
3
LEZIONE
Sequenze di istruzioni
elementari e figure geometriche
CONCETTI CHIAVE DELLA LEZIONE COLLEGAMENTI CON IL VOLUME DISEGNO
In Scratch si può scegliere il punto di inizio tra i blocchi della categoria Situazioni.
Ad esempio si può utilizzare:
• quando si clicca sulla bandierina verde ;
• quando si preme il tasto spazio ;
• quando si imposta il volume del microfono > 10 ;
• quando si clicca un determinato sprite .
Figura 1
14
Sequenze di istruzioni elementari e figure geometriche LEZIONE 3
La sequenza quindi inizierà nel momento in cui viene rilevato l’evento in questione.
Facciamo un primo test. Aiutandoti con i colori, che rimandano ai corrispondenti blocchi,
prova a costruire le sequenze nella figura 1 e vedi cosa succede se: clicchi sulla bandierina
verde, premi il tasto spazio, batti le mani di fronte al microfono del tuo computer (ovvia-
mente se si dispone di un microfono), clicchi sopra lo sprite del gatto Scratch.
I blocchi che seguono (figura 2), permettono di rilevare altri eventi (il cambio dello sfondo,
il volume del microfono oltre una certa soglia o la ricezione di un messaggio) utilizzabili
allo stesso modo come punto di partenza della sequenza.
Figura 2
Figura 5
Figura 3 Figura 4
15
LEZIONE 3 Sequenze di istruzioni elementari e figure geometriche
Per avere un’idea più concreta, osserva nella figura un possibile percorso segnalato con la
linea tratteggiata. La sequenza di operazioni che lo descrive è:
• Fai 14 passi
• Gira a sinistra
• Fai 2 passi
• Gira a destra
• Fai 5 passi
• Gira a destra
• …
• …
Figura 6
Soluzioni a pagina 78
SFIDE
1. Cerca il percorso più veloce per arrivare all’uscita del labirinto e trascrivilo sotto forma di algoritmo. Qual è il minor numero di
operazioni possibile? Se ti trovi con altri compagni, potete organizzare una sfida stabilendo un tempo di gioco in cui ciascuno
scrive il proprio algoritmo risolutivo, per scoprire alla fine chi ha trovato il percorso più breve nel minor tempo.
16
Sequenze di istruzioni elementari e figure geometriche LEZIONE 3
Figura 7 Figura 8
Apparirà quindi lo sfondo selezionato (figura 9): nota bene che il valore della x varia tra
–240 e 240, mentre il valore della y varia tra –180 e 180.
Figura 9
17
LEZIONE 3 Sequenze di istruzioni elementari e figure geometriche
Disegnare un segmento
Proviamo ora a disegnare un segmento, elemento base di ogni figura geometrica, sul piano
cartesiano. Ti proponiamo due possibili modalità per raggiungere questo obiettivo.
Figura 10 Figura 11
Figura 12 Figura 13
Nella prima sequenza (figura 10), il blocco porta dimensione al 50% nella categoria
Aspetto permette di ridurre le dimensioni del gatto Scratch e, così, visualizzare meglio il
segmento che stiamo per disegnare, il quale altrimenti sarebbe in parte coperto dal corpo
del gatto. Il blocco pulisci permette di cancellare disegni precedentemente realizzati con
il comando penna giù . Abbiamo poi inserito il comando dire ... per ... secondi dalla
categoria Aspetto, che permette di visualizzare un fumetto con la frase inserita per il nu-
mero di secondi specificato. Viene poi appoggiata la penna sullo stage con il comando
penna giù e, muovendosi con il comando fai ... passi , compare sullo sfondo il seg-
mento della lunghezza desiderata. Non appena proverai questa sequenza vedrai che il
segmento disegnato giace sull’asse delle x (figura 12).
Nella seconda sequenza (figura 11) i primi blocchi ( porta dimensione al 50% , pulisci ,
dire ... per ... secondi penna giù ) sono gli stessi di quelli nella figura 10, ma utiliz-
zando il blocco di movimento vai a x: ... y: ... si riesce a ottenere un segmento che non
sia esattamente sovrapposto all’asse delle x (come si può vedere nella figura 13).
18
Sequenze di istruzioni elementari e figure geometriche LEZIONE 3
Figura 14
Le due sequenze nella figura 14 mostrano il funzionamento dei blocchi appartenenti alla
categoria Movimento:
• ruota di ... gradi fa ruotare lo sprite rispetto alla sua posizione attuale in direzione
oraria o antioraria (dipende da quale tra i due blocchi di rotazione si è scelto);
• punta in direzione ... ha quattro opzioni selezionabili, ma si può scrivere al suo in-
terno un numero qualsiasi. La differenza rispetto al blocco precedente è il fatto che, in
questo caso, ci si sta posizionando con un angolo rispetto a una posizione di partenza
(0°) che corrisponde all’asse delle y. Con il blocco ruota di ... gradi si cambia l’orien-
tamento dello sprite a seconda della posizione di partenza.
Ecco alcuni esempi per capire meglio questi concetti (figura 15): in particolare approfon-
diamo il blocco punta in direzione ... .
Figura 15
19
LEZIONE 3A Sequenze
B di istruzioni elementari e figure geometriche
C D E
Ecco come si posiziona lo sprite a seconda del tasto che viene premuto:
Spazio Spazio
A B A B A B
C D E C D E C D E
45°
Spazio Spazio Spazio
Figura 16 90°
Se provi a premere i tasti come nella figura 15 in una qualsiasi sequenza, il posizionamen-
to del gatto rispetto all’asse delle y sarà per ogni comando sempre lo stesso. Questo signi-
fica che la direzione assunta dallo sprite non dipende dalla direzione iniziale, ma è legata
a una posizione fissa, quella dell’asse delle y. Se, invece, si utilizzasse il blocco ruota di
… gradi , la posizione finale del gatto dipende dalla posizione di partenza.
Soluzioni a pagina 78
SFIDE
1. Disegna un segmento di lunghezza 100 e parallelo all’asse delle x partendo dal punto
avente coordinate x = 20, y = 50. Se non ricordi cosa significa parallelo, rileggi pagina 27
del volume Disegno.
2. Disegna un segmento di lunghezza 70 e parallelo all’asse delle y partendo dal punto
avente coordinate x = 30, y = – 50. Suggerimento: usa i blocchi per cambiare direzione al
gatto Scratch.
Disegnare un quadrato
Ti proponiamo ora lo script per disegnare un quadrato. Quali sono le caratteristiche prin-
cipali di un quadrato? Puoi ripassarle a pagina 41 del volume Disegno: nella seguente se-
quenza ti proponiamo invece come tradurle in linguaggio informatico grazie a Scratch.
Prima di iniziare con Scratch proviamo a creare un semplice diagramma di flusso che
schematizzi le operazioni da eseguire per disegnare un quadrato: puoi vederlo alla pagina
seguente.
Traduciamo ora il diagramma di flusso in Scratch (figura 17). Il nostro obiettivo è costru-
ire una figura avente quattro lati uguali e quattro angoli retti: per questo motivo il movi-
mento dello sprite è caratterizzato da spostamenti tutti uguali (di 80 passi), ripetuti per
quattro volte e intervallati da rotazioni di 90 gradi, così che l’angolo compreso tra un lato
e l’altro sia proprio di questa ampiezza.
20
Sequenze di istruzioni elementari e figure geometriche LEZIONE 3
Per poter osservare meglio il percorso realizzato sono state inserite delle pause di un secon-
INIZIO
do tra un movimento e l’altro (blocco attendi 1 secondo ). Ovviamente come blocco
iniziale facciamo appoggiare allo sprite la penna sul foglio, con il comando penna giù .
Appoggio la penna È utile realizzare anche uno script di azzeramento della posizione, come quello mostrato
sul foglio nella figura 18. Come vedi l’obiettivo è riportare Scratch in posizione (0,0) del piano car-
tesiano, ma prima si utilizza il blocco pulisci e il blocco penna su per ripulire lo stage
dai precedenti segni della penna e rialzare la penna affinché nel tragitto tra il punto in cui
Disegno il primo
segmento di lunghezza x si trova il gatto e l’origine degli assi non venga disegnato un altro segmento.
Disegno il secondo
segmento di lunghezza x
Disegno il terzo
segmento di lunghezza x
Disegno il quarto
segmento di lunghezza x
Figura 18
FINE
Figura 17
Soluzioni a pagina 78
SFIDE
1. Partendo dallo script per disegnare il quadrato, prova a modificare i parametri in modo che
venga disegnato un rettangolo. Ricorda che puoi ripassare le caratteristiche di questa figura
a pagina 41 del volume Disegno.
2. Anziché utilizzare i blocchi fai 80 passi e ruota di 90 gradi , prova a disegnare il
quadrato e il rettangolo sfruttando altre funzioni della categoria Movimento.
Un consiglio: non utilizzare i blocchi fai ... passi e ruota di ... gradi .
3. Prova a disegnare un quadrato con i lati di quattro colori diversi.
Un suggerimento: nella categoria Penna trovi il blocco usa penna di colore .
21
LEZIONE 3 Sequenze di istruzioni elementari e figure geometriche
Disegno il primo
segmento di lunghezza x
Disegno il secondo
segmento di lunghezza x
Disegno il terzo
segmento di lunghezza x
FINE Figura 19
Diamo il via alla sequenza premendo il tasto spazio ma… il triangolo non è stato disegna-
to come ce lo saremmo immaginati! Puoi vederlo nella figura 20.
Figura 20
22
Sequenze di istruzioni elementari e figure geometriche LEZIONE 3
Aggiungiamo alcune frecce alla figura 20, così da capire dove sta l’errore.
Nella figura 21 si nota come, impostando la rotazione a 60°, l’angolo tra il primo e il se-
condo lato è pari a 120°, cioè a un angolo piatto meno la rotazione effettuata. I due an-
goli sono supplementari: due angoli si dicono supplementari quando la loro somma è
180°. Puoi trovare un approfondimento sugli angoli a pagina 27 del volume Disegno.
Figura 21
Torniamo al nostro triangolo equilatero: visto che l’angolo che deve rimanere compreso
tra i due lati misura 60°, la rotazione da impostare è di 120°, come puoi vedere nello
script mostrato nella figura 22 e nel risultato finale (figura 23), questa volta corretto.
SFIDE
Soluzioni a pagina 78
1. Prova a disegnare un
pentagono equilatero
e un esagono
equilatero con Scrath.
Un suggerimento: a
pagina 75 del volume
Disegno puoi ripassare
le proprietà di queste
due figure.
Se necessario, prima
di iniziare a costruire
lo script, prova a
disegnare un
diagramma di flusso
Figura 23
con le operazioni da
eseguire.
Figura 22
23
LEZIONE 4 Esecuzione ciclica e condizionata di istruzioni
4 Esecuzione
LEZIONE
ciclica e
condizionata di istruzioni
CONCETTI CHIAVE DELLA LEZIONE COLLEGAMENTI CON IL VOLUME DISEGNO
CONTATORE = 1
SÌ
CONTATORE > 4? FINE
NO
Disegno un segmento
di lunghezza x
CONTATORE =
CONTATORE + 1
Il blocco ripeti ... volte permette di ripetere i blocchi al suo interno per il numero di
volte specificato. Ovviamente i blocchi contenuti nella sequenza vengono eseguiti nell’or-
dine in base al quale è stata costruita la sequenza stessa.
24
Esecuzione ciclica e condizionata di istruzioni LEZIONE 4
Il blocco usa penna di colore (nella categoria Penna), presente nella figura 1, permette
di cambiare il colore della penna che verrà usata dallo sprite per disegnare. Per farlo clicca
con il tasto sinistro del mouse sul quadrato di fianco la parola «colore», dove vedi posizio-
nato il puntatore (figura 2): il puntatore si trasformerà, da una freccia diventerà una mano
(come in figura 3). A questo punto potrai muoverti sulla schermata di Scratch per selezio-
nare con quale colore disegnare (sia sullo stage che in qualsiasi altra zona della scherma-
ta). Se, ad esempio, vorresti utilizzare una penna rossa, potresti cliccare sull’ottagono rosso
con il quale dai lo stop agli script e così via.
In generale, ogni volta che troverai il quadrato «colore» all’interno di un blocco, ricorda di
eseguire questa procedura per selezionare il colore che vuoi utilizzare.
Figura 2 Figura 3
Lo script a sinistra nella figura 1 permette di azzerare la posizione dello sprite, mentre
quello a destra disegna un quadrato nel quarto quadrante del piano cartesiano (come
nella figura 4), partendo dalla posizione x = 60, y = – 40.
SFIDE
1. Prova a personalizzare
questa sequenza
cambiando il colore
con cui stai
disegnando il quadrato
e la lunghezza dei lati.
Figura 4
25
LEZIONE 4 Esecuzione ciclica e condizionata di istruzioni
Soluzioni a pagina 78
Figura 5 Figura 6
Soluzioni a pagina 79
SFIDE
1. Come impostare lo script per un rettangolo? Nel caso del rettangolo troviamo una ricorrenza di alcuni blocchi che si ripetono
allo stesso modo per due volte (e non per quattro volte come nel caso del quadrato o per cinque volte come nel caso del
pentagono). Prova a disegnare un rettangolo utilizzando il blocco ripeti ... volte .
2. Prova a disegnare un esagono regolare utilizzando il blocco ripeti ... volte .
26
Esecuzione ciclica e condizionata di istruzioni LEZIONE 4
SFIDE
1. Prova a disegnare una
circonferenza con un
raggio differente
rispetto a quella che
ottieni applicando la
sequenza nella figura
7. Quali parametri
devono essere
modificati?
Figura 8
27
LEZIONE 4 Esecuzione ciclica e condizionata di istruzioni
A A A B A B A B A B
F V F F F F F F
V F F V F F V V
V F F V F V
V V V V V V
Vediamo delle applicazioni pratiche in Scratch di queste regole di logica appena conosciute.
Proviamo a fare alcuni esperimenti di programmazione utilizzando, ad esempio, lo sfon-
do bedroom2 che vedi nella figura 9.
Figura 9 Figura 10
SFIDE
Soluzioni a pagina 79
1. Quali sono le
condizioni che
permettono al fumetto
«Sto toccando il letto!»
di comparire? Cosa
succede se non premi
il «tasto b»?
2. Qual è la condizione
che permette al
fumetto «Non sto
toccando il
pavimento!» di
comparire? Figura 11
28
Esecuzione ciclica e condizionata di istruzioni LEZIONE 4
Figura 12 Figura 13
Figura 14 Figura 15
29
LEZIONE 4 Esecuzione ciclica e condizionata di istruzioni
In questo caso è necessario utilizzare un nuovo blocco, appartenente alla categoria Senso-
ri: chiedi ... e attendi . Con questo blocco puoi far comparire una domanda e attendere
che venga inserita la risposta all’interno dell’apposito spazio che compare nella parte infe-
riore dello stage. La risposta inserita può essere utilizzata all’interno dello script grazie al
blocco risposta .
Vediamo un esempio che ci permetta di capire come funzionano questi due nuovi blocchi.
Scriviamo «Ciao, come ti chiami?» nel blocco chiedi ... e attendi . L’utente quindi inse-
rirà il proprio nome nel rettangolo che compare nella parte bassa dello stage. Per confer-
mare la risposta si deve premere il tasto Invio della tastiera. La risposta inserita sarà memo-
rizzata nel blocco risposta , un contenitore che immagazzina quello che viene scritto
dall’utente. Se vogliamo quindi che il gatto dia il benvenuto alla persona che si trova da-
vanti al computer, chiamandola per nome, si può utilizzare il blocco unione di … e …
della categoria Operatori, che unisce le due parole (o le due frasi) inserite nei suoi rettan-
goli bianchi. Nella figura 16 si nota come in questo caso le frasi da unire siano «Benvenu-
to in Scratch» e la risposta inserita dall’utente alla precedente domanda (cioè il suo nome).
Figura 16
Figura 17
Ora che abbiamo capito come funzionano questi nuovi blocchi, vediamo come poter impo-
stare la sequenza per rispettare il comportamento che si osserva nelle figure 12, 13, 14, 15.
La risposta dell’utente va utilizzata per scegliere quale figura disegnare, ossia un triangolo,
un quadrato o un pentagono.
Nella figura 18 viene mostrato come potrebbe iniziare la sequenza (non è stato ancora
inserito il blocco se risposta = quadrato o se risposta = pentagono ).
Figura 18
30
Esecuzione ciclica e condizionata di istruzioni LEZIONE 4
Un ultimo consiglio: per rendere ancora più chiaro lo script che realizzerai, puoi sfruttare
la funzione Crea un blocco. Quando una sequenza di blocchi ti può essere utile in più
parti di uno stesso progetto, oppure quando puoi definire una procedura in modo chiaro
e distaccato dal resto della sequenza (come in questo caso la sequenza di blocchi per dise-
gnare il triangolo, il quadrato e il pentagono), se clicchi su Crea un blocco dopo aver
scelto la categoria Altri blocchi comparirà la finestra nella figura 19.
In automatico, nell’area degli script, comparirà un blocco vuoto all’interno del quale scri-
vere il nome che si assegna al nuovo blocco da creare e al quale puoi collegare la sequenza
che dovrà essere eseguita quando all’interno del programma si utilizza «triangolo» (figure
20 e 21), oppure le altre figure che hai già sperimentato.
Figura 19
Figura 20 Figura 21
Il blocco triangolo quindi può essere utilizzato come mostrato nella figura 22.
Con lo stesso procedimento si possono creare anche i blocchi quadrato e pentagono .
Figura 22
Soluzioni a pagina 79
SFIDE
1. Prova a creare le sequenze per ottenere i disegni del quadrato e del pentagono: è necessario impostare il controllo
se … allora , così da poter attivare le giuste funzioni in base alla risposta dell’utente. Un consiglio: prima di iniziare la
costruzione delle sequenze in Scratch, prova a realizzare il diagramma di flusso del problema.
2. Perché limitarsi a sole tre figure? Prova a creare un progetto in cui l’utente possa scegliere anche altre figure, ad esempio il
rettangolo, l’esagono e l’ottagono.
31
LEZIONE 5 Le variabili: che cosa sono e a che cosa servono
5
LEZIONE
i= c12 + c22
Figura 1
Per realizzare questo script scegli il blocco radq di ... (radice quadrata) tra gli Operatori,
inserisci al suo interno il blocco ... + ... (somma) (figura 2) e, infine, utilizza due volte il
blocco ... * ... (moltiplicazione) come addendo del blocco somma (figura 3).
Per inserire un blocco dentro l’altro è sufficiente «trascinarlo» nella posizione desiderata.
Figura 2
Figura 3
32
Le variabili: che cosa sono e a che cosa servono LEZIONE 5
In questo modo hai inserito nella tua sequenza la formula di Pitagora per il calcolo dell’i-
potenusa di un triangolo. Per poter cambiare i valori dei due cateti è necessario scrivere
direttamente i valori all’interno dei blocchi: un eventuale utente però non può fruire del
tuo programma in quanto non è possibile alcun tipo di interazione.
Lo script funziona? Sicuramente sì, ma è ancora migliorabile.
Nella figura 4 vedi Pitagora che ha calcolato l’ipotenusa del triangolo avente cateto mino-
re = 5 e cateto maggiore = 10.
Lo sfondo è stato selezionato dalla libreria di Scratch (si chiama blue sky), ma com’è pos-
sibile introdurre un nuovo sprite, in questo caso Pitagora, all’interno di Scratch? È molto
semplice, seguendo alcuni passaggi:
• scegli l’immagine che vuoi inserire da un
file sul tuo computer oppure online;
• importa l’immagine utilizzando Carica
11.18 uno sprite da un file, l’icona cerchiata in
rosso nella figura 5;
• nella finestra che compare, naviga fino al
percorso nel quale è stata salvata l’im-
magine e clicca su Apri;
• a questo punto compare l’immagine
scelta come sprite: è possibile perfezio-
narla attraverso l’editor di immagini (figu-
ra 6), cliccando la modalità Costumi (in
alto nel menù centrale);
Figura 5
Figura 4
Figura 6
33
LEZIONE 5 Le variabili: che cosa sono e a che cosa servono
Figura 7
• scegliendo dal menù lo strumento Rimuovi sfondo, simile a una «bacchetta magica» (figu-
ra 8), puoi eliminare lo sfondo dopo aver selezionato la sagoma che vuoi mantenere e
cliccando poi fuori dall’immagine dopo averla selezionata (figura 9);
• con lo strumento Cancella (l’icona a forma di gomma) puoi effettuare le rifiniture per
pulire bene l’immagine, selezionando le dimensioni della gomma nello spazio in basso
Figura 8 (figura 10);
• infine si può ridimensionare il volto di Pitagora con lo strumento Seleziona (evidenzia-
to nella figura 11): seleziona l’area del viso e vedrai che, passando con il puntatore sui
vertici del rettangolo, comparirà una freccia che ti permetterà di ridurre o ingrandire
l’immagine. Otterrai così qualcosa di simile alla figura 4 vista in precedenza.
Figura 9 Figura 10
34
Le variabili: che cosa sono e a che cosa servono LEZIONE 5
SFIDE
1. Ricerca altre immagini
e prova a eseguire la
stessa procedura
appena mostrata. Di
sicuro ti tornerà utile
in altre situazioni saper
eliminare lo sfondo di
un’immagine da
inserire come sprite,
quindi è importante
saperlo fare bene.
INIZIO
Figura 11
Chiedi all’utente
la lunghezza
del primo cateto
35
LEZIONE 5 Le variabili: che cosa sono e a che cosa servono
Per poter creare questo diagramma di flusso in Scratch dovrai quindi creare anche delle
variabili. Seleziona la categoria Variabili e liste, clicca su Crea una variabile e inserisci il
nome della variabile (figura 12): nel nostro caso abbiamo creato «cateto_1», «cateto_2»,
«ipotenusa». Dopo aver effettuato queste operazioni compariranno i blocchi variabili cre-
ati, di colore arancione, come nella figura 13.
Il blocco porta ... a ... permette di assegnare alla variabile il valore inserito; il blocco
cambia ... di ... aggiunge, o sottrae in base al segno utilizzato, al valore attuale della
variabile quello inserito; i blocchi mostra la variabile ... e nascondi la variabile ....
fanno comparire o scomparire la variabile dallo stage (ad esempio, nella figura 15 trovi
nello stage il valore delle tre variabili utilizzate nello script).
Figura 12
Figura 13
Ecco il diagramma di flusso presentato in precedenza tradotto grazie ai blocchi di Scratch (fi-
gura 14):
Figura 14
36
Le variabili: che cosa sono e a che cosa servono LEZIONE 5
Figura 15
INIZIO
NO Mostrare all’utente
Risposta > 0 “il numero inserito
è < 0”
SÌ
cateto1 = RISPOSTA
NO Mostrare all’utente
Risposta > 0 “il numero inserito
è < 0”
SÌ
cateto2 = RISPOSTA
FINE
37
LEZIONE 5 Le variabili: che cosa sono e a che cosa servono
Si può quindi utilizzare il blocco se ... allora ... altrimenti della categoria Controllo,
così da verificare la condizione «risposta > 0».
Nella figura 16 si vede in dettaglio come sviluppare quanto appena descritto, mentre nella
figura 17 è presentato tutto lo script completo.
Figura 16
Figura 17
38
Le variabili: che cosa sono e a che cosa servono LEZIONE 5
Questo blocco, come si può leggere dalla sezione Aiuto di Scratch, «controlla se la condi-
zione inserita sia falsa; se è così, esegue i blocchi al suo interno, e controlla di nuovo la
condizione. Quando la condizione è vera si prosegue al blocco che segue il ripeti fino a
quando…». Quindi il blocco si potrebbe usare come mostrato nella figura 18.
Figura 18
Si può notare anche un altro problema: ogni volta che si fa ripartire la sequenza, le tre
variabili mantengono memorizzato il valore relativo al precedente utilizzo dello script.
Vorremmo invece che ogni volta che si riutilizza il programma i valori delle variabili fos-
sero azzerati. Questa operazione è molto importante nella programmazione e si chiama
inizializzazione delle variabili. Si possono quindi utilizzare, subito dopo il quando si
clicca su bandierina verde , i blocchi porta cateto_1 a 0 , porta cateto_2 a 0 e por-
ta ipotenusa a 0 .
Si arriva così allo script finale mostrato nella figura 19.
Figura 19
SFIDE
Soluzioni a pagina 79
39
LEZIONE 6 Le liste: uno strumento per organizzare i dati
6
LEZIONE
Figura 1
40
Le liste: uno strumento per organizzare i dati LEZIONE 6
Il risultato che si ottiene è mostrato nella figura 4 ma… com’è possibile che il
fruttivendolo nella figura 3 sia rivolto verso sinistra mentre nella figura 4 è rivol-
to verso destra? Abbiamo scelto di utilizzare la funzione Rifletti in orizzontale, che
permette di creare un’immagine specchiata rispetto a quella inserita. Dopo aver
cliccato su Costumi (quando è selezionato lo sprite del fruttivendolo), in alto a
destra trovi i quattro pulsanti mostrati nella figura 5: il secondo a partire da sini-
stra è quello che serve per riflettere orizzontalmente il personaggio.
Per aiutare il fruttivendolo a gestire il suo negozio, si può pensare di creare un
«sistema informatico» che faccia conoscere al fruttivendolo quale tipologia di
frutta ha a disposizione. È quindi necessario memorizzare una lista di oggetti,
in questo caso si tratta di frutta.
Figura 3
Figura 5
Figura 4
Creare una lista è molto semplice: clicca su Variabili e Liste e scegli Crea una
lista. Comparirà la finestra di figura 6, dove potrai inserire il nome della lista;
nell’esempio utilizzato si può chiamare «frutta».
La lista appena creata è ovviamente vuota ed è necessario creare una sequenza
che permetta di riempire il contenitore che abbiamo a disposizione. Lo script
da creare dovrà funzionare all’incirca in questo modo: chiedo all’utente quale
elemento vuole inserire in lista, inserisco l’elemento nella lista alla posizione
1, chiedo all’utente quale elemento vuole inserire in lista, inserisco l’elemento
nella lista alla posizione 2 e così via (ripetendo per il numero di elementi che
voglio siano contenuti nella lista).
Per poter inserire gli oggetti in posizioni predefinite della lista, è necessario
creare una variabile che tenga memoria della posizione attuale in cui è inserito
l’oggetto, e che venga incrementata di volta in volta così da poter inserire gli
Figura 6
elementi uno dopo l’altro. Per questo motivo nel nostro progetto in Scratch
abbiamo creato la variabile «n».
41
LEZIONE 6 Le liste: uno strumento per organizzare i dati
Analizziamo ora l’esempio nella figura 7, che sviluppa quanto appena descritto: grazie al
blocco ripeti ... volte il fruttivendolo, dopo aver salutato, ti farà inserire la frutta dispo-
nibile.
Il blocco inserisci ... alla posizione ... di frutta si trova nella categoria Variabili e Liste
e permette di inserire un elemento nella posizione desiderata di una lista. Come puoi
notare, all’interno del ciclo sono presenti esattamente i tre blocchi che ci servono:
• chiedo all’utente quale elemento vuole inserire nella lista attraverso il blocco chiedi ...
e attendi (nella categoria Sensori) con all’interno l’unione di due stringhe: «inserisci
il frutto n» e la variabile «n»; il blocco unione di ... e ... si trova nella categoria Ope-
ratori e non fa altro che unire le parole che si inseriscono al suo interno;
• inserisco l’elemento nella lista alla posizione 1 nel blocco inserisci risposta alla po-
sizione n di frutta , con «n» che all’inizio della sequenza viene impostato a 1;
• incremento la posizione della lista nella quale devo inserire l’elemento con il blocco
cambia n di 1 , che si trova nella categoria Variabili e Liste.
Inizialmente si utilizza il blocco cancella tutto da frutta , dalla categoria Variabili e
Liste, per far sì che ogni volta che la sequenza ricomincia la lista frutta sia vuota.
Figura 8
Figura 7 Figura 9
Attivando lo script appena costruito, cliccando sulla bandierina verde e mettendo la spun-
ta di fianco alla lista «frutta» (cliccare su Variabili e Liste, poi cliccare nel quadrato a
fianco del blocco «frutta», come nella figura 8), si può vedere come all’interno della lista
siano stati inseriti gli elementi decisi dall’utente (ad esempio, come nella figura 9).
Soluzioni a pagina 80
SFIDE
1. Oltre a inserire la tipologia, prova a creare Numero Numero
una seconda lista nella quale inserire la Frutta Disponibilità
elemento elemento
quantità disponibile di un dato frutto.
Lo schema potrebbe essere come quello 1 Mele 1 20
a lato. 2 Fragole 2 100
N.B. All’elemento 1 della lista «frutta» 3 Ciliegie 3 200
corrisponde la quantità inserita come
elemento 1 della lista «disponibilità»,
e così via per gli altri elementi.
42
Le liste: uno strumento per organizzare i dati LEZIONE 6
Figura 10
Figura 11
43
LEZIONE 6 Le liste: uno strumento per organizzare i dati
Figura 12
Figura 13
Come puoi notare (figura 12), abbiamo creato la variabile «frutta_da_chiedere» per gestire
al meglio la richiesta del cliente: a questa variabile viene assegnata la risposta che l’utente
dà ad Alex (vedi figura 13). Importante: questa variabile deve essere valida per entrambi gli
sprite (il fruttivendolo e Alex) per cui va selezionata.
Fai provare a rispondere a un tuo amico, che non conosce quali tipi di frutta sono stati
inseriti nel nostro negozio virtuale!
A questo punto possiamo tornare al fruttivendolo, che deve verificare la presenza della
tipologia di frutta richiesta dalla cliente. Il nostro obiettivo ora è scoprire se la frutta richie-
sta dall’utente si trova nella lista creata in precedenza.
Proviamo a impostare un diagramma di flusso del problema.
INIZIO
N=1
frutta_da_chiedere SÌ
= Elemento trovato! FINE
elemento n di frutta?
NO
N=N+1
44
Le liste: uno strumento per organizzare i dati LEZIONE 6
Questo algoritmo può essere applicato per un numero di volte pari alla lunghezza della lista
«frutta», altrimenti la ricerca sarebbe più lunga rispetto agli elementi realmente contenuti nella
lista. Per questo motivo all’interno del blocco ripeti ... volte è stato inserito il blocco lun-
ghezza di frutta : la ripetizione avverrà esattamente un numero di volte pari agli elementi
contenuti nella lista «frutta».
Si può tradurre quanto rappresentato dal diagramma di flusso precedente con la sequenza
nella figura 14.
Figura 14
Dopo aver trovato l’elemento ricercato nella lista, possiamo consegnare alla nostra cliente
il prodotto richiesto; altrimenti al termine della ricerca, se la procedura non ha avuto suc-
cesso, il fruttivendolo si scuserà per non avere a disposizione la tipologia di frutta richiesta.
Soluzioni a pagina 80
SFIDE
1. Prova a costruire un nuovo progetto in cui siano presenti una lista generale di «frutta» e una lista «frutta di stagione». In questo
caso il cliente chiederà un elemento a caso della lista generale e il fruttivendolo dovrà cercare all’interno della lista «frutta di
stagione» se quell’elemento è presente o meno, rispondendo al cliente di conseguenza. Puoi far riferimento all’Area 4 (Settore
agroalimentare) del volume Tecnologia (ad esempio a pagina 139) per capire quali sono le stagioni della frutta.
2. Prova a modificare le sequenze costruite nei paragrafi precedenti così da simulare un dialogo all’interno di un negozio di frutta
e verdura fra Alex e il fruttivendolo: la cliente, oltre a chiedere un tipo di frutta, chiederà una quantità (inserita dall’utente) di
prodotti e il negoziante dovrà verificare se ha a disposizione un numero sufficiente di quella specifica tipologia.
Suggerimento: la struttura della sequenza rimane la stessa, devi però far chiedere ad Alex quanta frutta chiedere al
fruttivendolo. Salva la risposta in una variabile e poi, se trovi l’elemento nella lista «frutta», controlla che l’elemento
corrispondente della lista «quantità» sia maggiore!
45
LEZIONE 7 Creare una presentazione
Come creare una presentazione se- Area 7 Unità 20: Risparmio ed effi-
quenziale con Scratch cienza energetica domestica
Come creare una presentazione inte- Area 10 Unità 25: Green economy
rattiva
3. Crea lo storyboard
Lo storyboard è uno strumento per la progettazione usato spesso da chi crea storie, anima-
zioni, film o fumetti nel quale sono rappresentati in sequenza tutti gli «sketch», o passi,
della storia. Lo storyboard può essere utile anche per creare una presentazione perché
46
Creare una presentazione LEZIONE 7
aiuta a fare ordine nella mente organizzando i contenuti (testi, immagini, suoni, transizio-
ni...) così da avere un’anteprima di come essa apparirà. Una volta creato, lo storyboard
sarà il «libretto di istruzioni» per iniziare a creare in Scratch.
Di seguito è riportato un modello per realizzare uno storyboard dove trovano spazio le
bozze delle grafiche, i testi e altri eventuali appunti: immagina di vedere nella mente lo
svolgersi della futura presentazione e quindi fissarla sulla carta in tutti i suoi particolari.
Figura 1
A questo punto puoi inserire uno sfondo a tua scelta scegliendo un’immagine tra quelle
presenti in Scratch (cliccando sul tasto Aggiungi in alto) oppure tra quelle presenti nel tuo
computer (cliccando sul tasto Importa). Il rettangolo dal bordo rosso indica il menù (detto
anche palette) degli strumenti per l’editing dell’immagine (figura 2).
47
LEZIONE 7 Creare una presentazione
Figura 2
Cliccando sul tasto «T» (Testo), come nella figura 3, è possibile inserire testi, scegliendo
anche il colore e il tipo di carattere di scrittura (in basso).
Figura 3
Se vuoi cancellare gli sprite dalla tua presentazione, non devi far altro che cliccare con il
tasto destro del mouse sullo sprite all’interno dello stage, o nella finestra dedicata alle info
sugli sprite (nell’area posta sotto lo stage), e scegliere l’opzione cancella (figura 4).
Figura 4
48
Creare una presentazione LEZIONE 7
Attraverso questi semplici passaggi potrai creare tutte le slide della tua presentazione, tra-
sferendo sul computer quello che avevi in precedenza scritto e disegnato all’interno dello
storyboard.
Oltre ai testi e alle immagini potresti aver bisogno anche di suoni che accompagnano la
presentazione. Sono necessari pochi clic per poter scegliere, registrare o importare suoni
all’interno di Scratch.
Nel menù centrale in alto scegli Suoni (figura 5). A questo punto puoi inserire dei suoni
attraverso alcune modalità (figura 6):
• selezionando tra i file contenuti nella libreria di Scratch, con un clic sulla prima icona
in alto a sinistra;
• registrando un suono con un clic sulla seconda icona in alto a sinistra e poi premendo
il pulsante registra, quello caratterizzato dal cerchio nero;
• importando un file con un clic sulla terza icona in alto a sinistra.
Nella colonna al centro della schermata troverai tutti i file di suoni che potrai utilizzare
all’interno della tua presentazione.
Figura 5 Figura 6
Figura 7
5. Crea la presentazione
Nella figura 7 trovi un semplice esempio di come poter
creare la logica alla base della presentazione, così da in-
tegrare gli sfondi creati ai suoni e poter far interagire
l’utente con la presentazione. Quello che vogliamo otte-
nere si riassume nella seguente regola: «quando premo il
tasto freccia destra la presentazione deve passare alla
slide e al suono successivo, quando premo il tasto freccia
sinistra la presentazione deve passare alla slide e al suo-
no precedente».
Gli script nella figura 7 funzionano solo se con la com-
parsa di ogni sfondo vuoi far riprodurre un suono e se
hai registrato, o importato, i suoni nello stesso ordine
con cui li vuoi far riprodurre.
49
LEZIONE 7 Creare una presentazione
Figura 8
Nella figura 8 trovi la prima pagina di una possibile presentazione: come puoi osservare
nella figura 9, «LA MIA CASA INTELLIGENTE» e «CLICCA SULLE ICONE E SCOPRI LA
CASA ECOSOSTENIBILE» sono degli slogan che fanno parte dello sfondo iniziale, così
come la casa al centro dell’immagine. Gli altri elementi (il garage, il fiore, il televisore, la
goccia d’acqua, il cestino, il termometro e la lampadina), invece, sono stati inseriti come
sprite all’interno di Scratch: li puoi cercare in rete o disegnare.
Figura 9
50
Creare una presentazione LEZIONE 7
Nelle figure 10 e 11 trovi due sfondi che, ad esempio, potrebbero comparire quando si
clicca rispettivamente sopra l’icona del garage e sopra l’icona della goccia d’acqua. Puoi
notare come in basso a destra sia stato inserito uno sprite caratterizzato dalle parole «TOR-
NA INDIETRO» che, se viene selezionato, permette di tornare allo sfondo iniziale.
Figura 10 Figura 11
Figura 12
51
LEZIONE 7 Creare una presentazione
Nei suggerimenti di Scratch (si possono aprire cliccando con il tasto destro sopra il blocco
e selezionando la voce aiuto) si può leggere che è utile inviare messaggi se vogliamo dire
agli altri sprite quando fare qualcosa. Nella nostra presentazione vogliamo che quando si
clicca su un’icona si visualizzi solo la slide relativa a quell’icona e che, quindi, tutti gli
sprite scompaiano. Per fare ciò inviamo il messaggio «nascondi», in modo che quando gli
sprite lo ricevono venga eseguito il blocco nascondi della categoria Aspetto. Le icone
devono invece ricomparire quando si torna allo sfondo1, così da ottenere di nuovo la scher-
mata nella figura 8.
Nelle figure 13 e 14 viene mostrato come poter creare un nuovo messaggio: cliccando su
nuovo messaggio si ha la possibilità di scrivere il nome del messaggio che invierai agli altri
sprite.
Figura 13 Figura 14
Con una simile logica funziona lo sprite «TORNA INDIETRO» (figura 15): quando riceve
il messaggio «mostra_torna_indietro», inviato quando si clicca su uno degli altri sprite,
l’icona creata viene visualizzata. Quando si torna allo sfondo1 lo sprite viene nascosto.
Cliccando sopra lo sprite si torna allo sfondo iniziale.
Figura 15
52
Creare una presentazione LEZIONE 7
SFIDE
1. Crea una presentazione che abbia per tema il cambiamento climatico. Ecco alcuni spunti di approfondimento:
• com’è cambiato il clima mondiale dagli scorsi decenni fino a oggi;
• le cause del cambiamento climatico;
• le cause prodotte dall’uomo: i gas serra e il loro effetto sul clima, sugli oceani e sugli eventi atmosferici;
• come contrastare i cambiamenti climatici: il passaggio dalle fonti fossili a quelle rinnovabili.
2. Crea una presentazione che approfondisca una tecnologia sostenibile per l’ambiente. Ad esempio:
• l’automobile alimentata con fonti rinnovabili (trovi alcuni spunti anche a pagina 345 del volume Tecnologia);
• cos’è la biomassa e come funziona una centrale a biomasse (trovi alcune informazioni alle pagine 274-275 del volume
Tecnologia).
3. Vai alla ricerca di nuove invenzioni tecnologiche per la produzione di energia pulita, scegli quella che ritieni più interessante e
crea una presentazione per farla conoscere agli altri.
53
LEZIONE 8 Creare una simulazione
8
LEZIONE
54
Creare una simulazione LEZIONE 8
Figura 1
• seleziona il colore bianco (o un altro colore che preferisci) dalla palette dei colori in
basso, posizionata al centro della fascia inferiore dell’editor di sfondi;
• clicca sul punto dell’immagine dal quale vuoi che il rettangolo abbia il vertice in alto a
sinistra, quindi trascina (muovendo il mouse) il rettangolo fino alla base dell’immagine
(figura 2).
Figura 2
55
LEZIONE 8 Creare una simulazione
Realizzata la torre, puoi reperire le pale dell’aerogeneratore facendo una ricerca sul Web, digi-
tando in un motore di ricerca queste parole chiave: «wind turbine icon». Se, ad esempio, si
utilizza Google, fai direttamente una ricerca tra le immagini, clicca su Strumenti di ricerca e
nell’opzione Colore scegli Trasparenti.
Una volta scelta l’immagine, utilizza la funzione Carica uno sprite da un file; eventualmente
elimina dalla figura gli elementi che non ti servono (ad esempio la torre dell’aerogeneratore)
con lo strumento Cancella situato nella palette dell’editor delle immagini. Oppure, cliccando
sullo strumento Riempi con il colore (sesta icona a partire dall’alto del menù degli strumenti
all’interno dell’editor delle immagini), si può selezionare il colore desiderato.
Nella figura 3 si può vedere lo sprite completo realizzato.
Figura 3
Per far capire la variazione di potenza generata e rendere la simulazione più accattivante e
immediata, esprimeremo i valori ottenuti non solo numericamente, ma anche graficamente
grazie a una «torretta» contenente una linea colorata, che va dal verde fino al rosso (nel para-
grafo successivo scoprirai quante variabili influenzano la produzione di energia eolica).
Figura 4
56
Creare una simulazione LEZIONE 8
Per creare la torretta mostrata nella figura 4 si utilizza l’editor dei costumi degli script. Prova
a seguire questa procedura:
• crea un nuovo sprite con la funzione Disegna un nuovo sprite; nell’esempio è stato chia-
mato «potenza»;
• disegna un rettangolo simile a quello precedentemente realizzato;
• clicca ora con il tasto destro del mouse sopra l’icona costume1 nella colonna centrale di
Scratch: comparirà la finestra nella figura 7; clicca su duplica e creerai il costume2 esatta-
mente identico al costume1 (figura 8);
• utilizzando lo strumento Rettangolo e scegliendo il colore verde, inserisci un piccolo
rettangolo sulla base della torretta (figura 9);
Figura 7 Figura 8
Figura 9
57
LEZIONE 8 Creare una simulazione
Figura 10
1m
s = 2, 236936 mph (mile per hour = miglia orarie)
1 mph = 0, 44704 m
s
58
Creare una simulazione LEZIONE 8
La velocità dell’aria sarà ora modificabile muovendo il cursore (figura 12), tuttavia per
essere ancora più precisi dovremmo impostare il valore massimo e il valore minimo che
ciascuna variabile può assumere. Clicca di nuovo con il tasto destro del mouse sulla varia-
bile nello stage: la finestra che appare contiene la voce scegli min e max del cursore (figura
13). Selezionando questa voce, per ognuna delle variabili puoi impostare il massimo e il
minimo che potrà assumere nel corso della simulazione.
Figura 12
Figura 13
Figura 11
Usando un’equazione che mette in relazione le variabili, si può ricavare il valore della
potenza ricavabile dalla turbina eolica:
t
P= : Cp : h : A : v 3
2
dove:
P = potenza, espressa in Watt;
t = densità della massa d’aria, espressa in kg/m3;
Cp = coefficiente di potenza massimo di una turbina ideale ad asse orizzontale, pari a 0,593;
nella formula che costruiremo in Scratch questo coefficiente sarà posto a 0,25, così da
avere un valore intermedio rispetto a quello massimo di una turbina ideale;
h = efficienza meccanica ed elettrica della turbina; nella formula che costruiremo in
Scratch questo valore sarà posto a 0,3 (efficienza pari al 30%);
A = area circolare spazzata dalle pale del rotore e attraversata dalla massa d’aria, espressa in m2;
v = velocità della massa d’aria indisturbata, prima del passaggio attraverso le pale, espressa
in m/s.
Come si può osservare dalla formula, la potenza ricavabile dalla risorsa vento per mezzo di
un aerogeneratore cresce all’aumentare dell’area spazzata dalle pale (quindi all’aumentare
della loro lunghezza) e della velocità del vento; dipende inoltre dalla densità dell’aria, fun-
zione delle condizioni meteorologiche di un ambiente (temperatura, umidità…).
Il dato dell’energia è convertito graficamente con una variazione del misuratore di potenza
nella torretta che abbiamo creato nel paragrafo precedente.
Finora abbiamo creato le variabili «velocità_aria», «raggio_pale» e «densità_aria», ma per
poter costruire la sequenza relativa alla formula sopra mostrata mancano da inserire le va-
riabili «potenza» e «area_spazzata» (che vedremo come calcolare in funzione del raggio
della pala eolica). Per inserire queste variabili la procedura è sempre la solita: clicca su Va-
riabili e Liste, poi clicca sul bottone Crea una nuova variabile e potrai inserire anche queste
due variabili.
59
LEZIONE 8 Creare una simulazione
Figura 14 La formula utilizzata è quella dell’area del cerchio, avente come raggio il raggio delle pale:
area cerchio = r 2 : r
Questa formula è stata tradotta con i blocchi di Scratch utilizzando il blocco porta area_
spazzata a ... : due blocchi moltiplicazione inseriti uno dentro l’altro, la variabile «rag-
gio_pale» e il numero 3,14 ( r ).
All’interno del blocco ruota di ... gradi la velocità dell’aria è stata divisa per 2 così da
rendere il movimento di rotazione più lento e più facilmente visibile per chi lo osserverà.
Per costruire la formula per il calcolo della potenza, fai attenzione a «incastrare» i blocchi
moltiplicazione e divisione uno dentro l’altro!
Figura 15
60
Creare una simulazione LEZIONE 8
Per quanto riguarda lo sprite potenza, puoi cambiare costume calcolando le soglie in cui vuoi
effettuare il passaggio grafico grazie alla formula sottostante; la sequenza da costruire è
quella mostrata nella figura 16 (è «spezzata» in due parti per poterla inserire nella pagina).
Figura 16
SFIDE
1. Prova a perfezionare il tuo modello di pala eolica. Nella maggior parte degli impianti eolici
esiste un sistema di sicurezza per cui, in presenza di una velocità del vento inferiore a 8 o
superiore a 55 miglia all’ora, la pala non si attiva. Prova a inserire questa nuova caratteristica
al programma che hai realizzato e testa la simulazione per verificare che il sistema di
sicurezza funzioni.
2. Prova a personalizzare ancora la tua simulazione. Puoi sostituire l’indicatore della potenza
con un oggetto direttamente alimentato dall’energia elettrica prodotta dall’impianto eolico,
ad esempio una lampadina. Puoi prevedere diversi livelli di luminosità, o colorazioni della
luce, che indicano la variazione della corrente elettrica prodotta in ogni momento. Oppure
puoi pensare di inserire nello scenario un’abitazione, o un’intera città, illuminata grazie
all’impianto eolico. Utilizza la creatività per rendere la simulazione più interattiva possibile.
61
LEZIONE 9 Creare un gioco a quiz
9
LEZIONE
• Vero o falso
1. I metalli si trovano in natura generalmente in forma libera, non combinati ad altri
elementi. [F]
2. Nella storia dell’uomo il bronzo è stato impiegato in modo particolare per produrre
armi e strumenti di lavoro. [V]
3. La brasatura è un procedimento per saldare due metalli facendo colare tra di essi un
materiale d’apporto. [V]
4. Nella fase di essiccazione, i laterizi sono sottoposti a una temperatura di circa 900 ° C. [F]
62
Creare un gioco a quiz LEZIONE 9
• Domande aperte
9. Come si chiama la ceramica ottenuta dalla lavorazione di argilla e acqua? [terracotta]
10. Quale metallo, poiché è dotato di bassa densità, ottima resistenza agli agenti esterni
e durezza, è usato per produrre motori e telai di aerei? [titanio]
Decidi ora quale personaggio guiderà il giocatore nel quiz: noi abbiamo scelto un mago
(lo trovi nella libreria dei personaggi con il nome Wizard).
L’ambientazione scelta è di tipo fantastico: come puoi osservare nella figura 1, all’inizio
del gioco viene utilizzato lo sfondo castle3. Per dare il benvenuto al giocatore del quiz,
puoi anche personalizzare una o due frasi, come nella figura 1.
Figura 1
63
LEZIONE 9 Creare un gioco a quiz
Per creare le domande da inserire nel gioco a quiz puoi utilizzare l’editor degli sfondi, come
fatto nella Lezione 7.
Nelle figure 2 e 3 trovi due esempi di domande scelti tra quelli proposti in precedenza.
Figura 2
Figura 3
64
Creare un gioco a quiz LEZIONE 9
Con questa modalità potrai creare tutte le domande che vorrai, ogni volta inserendo e
modificando uno sfondo differente.
Veniamo alla logica del gioco; se la volessimo rappresentare con un diagramma di flusso
semplificato sarebbe qualcosa di questo tipo:
INIZIO
Punteggio = 0
Mostrare domanda 1
Risposta
= SÌ Punteggio =
Risposta Punteggio + 1
corretta
NO
Punteggio =
Punteggio – 1
Mostrare domanda 2
Risposta
= SÌ Punteggio =
Risposta Punteggio + 1
corretta
NO
Punteggio =
Punteggio – 1
Mostrare domanda N
65
LEZIONE 9 Creare un gioco a quiz
Figura 5
Figura 4
Figura 6
Figura 7
66
Creare un gioco a quiz LEZIONE 9
Il gioco creato finora funziona correttamente, immagina tuttavia di dover inserire tutte e
10 le domande indicate in precedenza: visto che per ogni domanda il numero di blocchi
utilizzato è pari a 10, avremmo bisogno di 100 blocchi! Un numero molto elevato, consi-
derando che la sequenza che si sta realizzando non è particolarmente complessa.
Se riflettiamo attentamente sullo script, la necessità di replicare i blocchi per ogni doman-
da deriva dal controllo che deve essere eseguito sulla risposta inserita dall’utente, ossia se
risposta = risposta_giusta allora , nell'esempio se risposta = C allora . Quindi, se
riuscissimo a memorizzare tutte le risposte corrette all’interno di un contenitore, visto che
ogni risposta corretta è relativa a un numero di domanda specifico, potremmo fare questo
confronto:
• per la domanda 1 risposta = risposta_giusta [1];
• per la domanda 2 risposta = risposta_giusta [2];
• per la domanda 3 risposta = risposta_giusta [3].
E così via… Proviamo a schematizzare con un diagramma di flusso.
INIZIO
Punteggio = 0
Numero
domanda = 1
Mostrare domanda
(numero domanda)
Attendere
risposta utente
Risposta
= SÌ Punteggio = Numero domanda =
Risposta giusta (numero Punteggio + 1 Numero domanda + 1
domanda)
NO
Punteggio =
Punteggio – 1
67
LEZIONE 9 Creare un gioco a quiz
Figura 9
SFIDE
1. Prova a esercitarti nella
creazione di quiz
utilizzando gli esercizi
che trovi alla fine di
ogni Unità del volume
Tecnologia, in modo
da rendere il test più
interattivo e divertente.
68
Creare un gioco a quiz LEZIONE 9
69
LEZIONE 1 0 Creare un videogioco
10 Creare un videogioco
LEZIONE
• Obiettivi
Quali saranno gli obiettivi del tuo videogioco? Tra quelli più comuni ci sono:
• far divertire l’utente;
• far imparare all’utente qualcosa di nuovo;
• sviluppare nuove capacità dell’utente (ad esempio le abilità di ragionamento o di logica,
come nei videogiochi in cui si devono risolvere problemi o enigmi).
Pensa ad altri eventuali obiettivi rilevanti verso i quali il tuo videogioco si indirizzerà.
• Destinatari
A quale pubblico sarà rivolto il videogioco? Per prima cosa stabilisci approssimativamente
la fascia d’età degli utenti a cui ti stai rivolgendo: progettare qualcosa per un bambino di
6 anni non è la stessa cosa che progettare per un ragazzo di 14 anni! Chiediti se il video-
gioco è rivolto a un tipo preciso di persone (studenti, persone che parlano italiano
o altre lingue, utenti esperti o principianti rispetto ai videogiochi, ragazzi con
difficoltà fisiche o cognitive ecc.). Quindi rendi il videogioco adatto al tuo
pubblico, pensando al livello delle sue conoscenze, ai suoi interessi e alle
sue preferenze di gioco.
• Strumenti
Quali strumenti hai a disposizione per sviluppare il videogioco? Nel
nostro caso utilizzeremo Scratch per la sua creazione, ma più avanti
e con l’esperienza potresti avvalerti anche di altri software per crea-
re alcuni elementi del gioco: programmi di editing audio per intro-
durre musiche ed effetti sonori, di grafica per modificare personaggi
o sfondi e software di video editing per inserire filmati o presentazio-
ni nel gioco.
70
Creare un videogioco LEZIONE 1 0
• Premi e difficoltà
Stabilisci se al conseguimento di un traguardo o alla soluzione di una sfida
il giocatore riceverà un premio, acquisterà dei punti o altri vantaggi; in
questo caso, devi definire sia a quali condizioni il giocatore vince (ad
esempio risolve un problema entro un tempo limite, raccoglie un certo
numero di oggetti, risponde in modo corretto ad almeno n domande
ecc.), sia quali sono le conseguenze (ad esempio permettono di salire
nella classifica, di raggiungere un livello successivo ecc.).
Pensa anche alla possibilità di creare uno o più livelli di difficoltà nel
gioco, magari selezionabili prima di iniziare.
Dopo aver riflettuto su questi elementi, puoi passare alla logica, alla
grafica e all’audio del videogioco.
71
LEZIONE 1 0 Creare un videogioco
Figura 1
72
Creare un videogioco LEZIONE 1 0
Dopo le istruzioni, facciamo comparire una schermata nella quale l’utente può scegliere
quando iniziare il gioco (ad esempio come nella figura 2).
Lo sfondo è stato creato aggiungendo la frase «PREMI START PER INIZIARE IL GIOCO!»,
mentre il pulsante di colore verde che dà inizio al gioco è uno sprite creato con l’editor dei
costumi.
Figura 2
All’interno del gioco avremo sicuramente bisogno di due variabili: il «punteggio» e il «tem-
po». Le possiamo creare con la funzione Crea una variabile, che già conosci, nella categoria
Variabili e liste.
Il gioco deve iniziare quando l’utente clicca su «START» quindi, come si vede nella figura
3, si dovrà contemporaneamente controllare la distanza dal puntatore del mouse e il
pulsante del mouse premuto (sono le condizioni all’interno del blocco se ... allora ).
Nel caso entrambe siano verificate, si può passare allo sfondo successivo e mostrare la
variabile «punteggio».
Figura 3
73
LEZIONE 1 0 Creare un videogioco
Inseriamo poi nello stage i cassonetti (come sprite) dove dovranno essere gettati i rifiuti.
Questi sprite non avranno sequenze a loro associate, se non quelle che li fanno apparire o
scomparire dallo stage in base allo sfondo (figura 4). Quando inizia il gioco i cassonetti
non devono essere presenti in quanto ci sono le istruzioni sullo schermo; devono compa-
rire nello scenario solo nel momento in cui inizia il gioco vero e proprio.
Figura 4
Dopo lo «START» la schermata che comparirà sarà quella mostrata nella figura 5: lo sfondo
scelto nella libreria di Scratch è tree, nella fascia inferiore dello schermo si trovano i casso-
netti e in alto si possono visualizzare il punteggio e il tempo residuo (abbiamo deciso di
concedere all’utente 60 secondi).
Figura 5
74
Creare un videogioco LEZIONE 1 0
Costruendo la sequenza nella figura 7 (inserita come script per lo sfondo), otteniamo che
quando lo sfondo è tree, cioè lo sfondo in cui devono iniziare a comparire gli oggetti da
differenziare, viene ciclicamente inviato un messaggio a tutti gli sprite contenente un ele-
mento a caso della lista «rifiuti».
Figura 7
In questo modo, se si inserisce per lo sprite banana la sequenza nella figura 8, quando
viene ricevuto il messaggio «banana» l’oggetto compare in un punto casuale dello stage.
La stessa sequenza si può costruire per tutti gli altri sprite «rifiuti».
Figura 8
75
LEZIONE 1 0 Creare un videogioco
Mancano ancora alcune operazioni: i rifiuti devono poter essere spostati dal giocatore e
quando si trovano sopra i cassonetti l’utente deve essere informato riguardo alla correttez-
za dell’azione compiuta; il punteggio deve quindi cambiare di conseguenza.
Per spostare un oggetto con il puntatore del mouse si possono sfruttare due funzioni:
distanza da … , nella categoria Sensori, e raggiungi puntatore del mouse , nella
categoria Movimento.
Vorremmo far sì che, se la distanza tra il puntatore e lo sprite sarà piccola, cioè se il pun-
tatore si trova sopra l’oggetto, lo sprite segua il puntatore (figura 9).
Figura 9
Per verificare la correttezza del posizionamento del rifiuto sul rispettivo cassonetto, in
questo caso una banana, dovremmo costruire una sequenza che rileva la distanza tra lo
sprite e il cassonetto di colore verde dell’organico e, in caso di condizione vera (figura 10):
• il punteggio deve essere cambiato di 1 ( cambia punteggio di 1 );
• la banana deve rimanere sul cassonetto ( raggiungi organico );
• si deve visualizzare il fumetto «Bravo» così che l’utente possa capire di aver fatto la scel-
ta giusta ( dire Bravo per 1 secondo );
• l’oggetto deve scomparire ( nascondi );
• infine, l’esecuzione dello script deve terminare ( ferma questo script ).
Figura 10
76
Creare un videogioco LEZIONE 1 0
Figura 11
Figura 12
SFIDE
1. Ecco una lista di rifiuti che potresti inserire nel gioco: prova a creare un gioco completo con questi elementi.
• Materiale organico: torso di mela - buccia di limone - spina di pesce - foglia - fiore - pianta piccola - filtro di tè - uova
• Materiale riciclabile: bottiglia (vetro) - vasetto (vetro) - scatolone (carta) - brick del latte (carta) - giornale (carta) -
lattina (metallo) - barattolo di tonno (metallo) - bottiglia (plastica) - vasetto di yogurt (plastica) - sacchetto (plastica)
• Materiale indifferenziato: piatto - posate - mutande - spazzolino - scarpe - accendino - giocattolo rotto
77
Soluzioni
Lezione 1 Lezione 3
Pag. 7 - Sfida 1 Pag. 7 - Sfida 2 Pag. 16 - Sfida 1 Pag. 20 - Sfida 1 Pag. 21 - Sfida 1
1. Fai 3 passi
INIZIO INIZIO
2. Gira a destra
3. Fai 10 passi
Accendi i motori N=1 4. Gira a sinistra
5. Fai 8 passi
6. Gira a destra
Leggi il valore Leggi
del sensore MATERIA N 7. Fai 9 passi
8. Gira a sinistra
NO Prendi un libro 9. Fai 8 passi
dalla scrivania
Distanza 10. Gira a destra
<= 11. Fai 1 passo Pag. 20 - Sfida 2
30 cm
Materia libro
=
SÌ
MATERIA N? NO
Spegni i motori
SÌ
Metti il libro
FINE dentro lo zaino
N=N+1
Pag. 23 - Sfida 1
N>N
SÌ
Pag. 13 - Sfida 1
1. C - 2. C - 3. A FINE
78
Soluzioni
Pag. 31 - Sfida 2
N.B. La prima parte è uguale a Pag. 31 - Sfida 1, cambiano solo le tre figure.
Lezione 5
Pag. 39 Pag. 39
- Sfida 1 - Sfida 2
79
Soluzioni
Lezione 6
Pag. 42 - Sfida 1 Pag. 45 - Sfida 2
Pag. 45 - Sfida 1
80
Raffaello Scuola Digitale
[Link]
Scratch è un linguaggio di programmazione e una comunità online dove puoi creare storie interattive,
giochi e animazioni - e puoi condividere le tue creazioni con altre persone in tutto il mondo.
Mentre progettano e programmano progetti con Scratch, i ragazzi imparano a pensare creativamente,
a ragionare sistematicamente e a lavorare in modo collaborativo.
Scratch è sviluppato dal Lifelong Kindergarten Group dei Media Lab del MIT di Boston.
RAFFAELLO È disponibile gratuitamente sul sito [Link]
SCUOLA
DIGITALE
Il volume è stato realizzato da Lorenzo Cesaretti, Elisa Mazzieri e Michele Storti (Talent)
docenti che vogliono conoscere L’attenzione e la cura necessarie per la realizzazione di un libro spesso non sono sufficienti a evitare
SUPPORTO le potenzialità e i vantaggi completamente la presenza di sviste o di piccole imprecisioni. Invitiamo pertanto il lettore a segnalare
sia dei nostri strumenti sia le eventuali inesattezze riscontrate. Ci saranno utili per le future ristampe.
Per gli utenti con dubbi e
richieste sono disponibili delle tecnologie che stanno
un forum e una email invadendo il panorama della
dedicata. didattica.
Tutti i diritti sono riservati.
© 2017
Einstein
S
97 Co tein - M.
Più
Questo volume, sprovvisto del talloncino a fronte (o opportunamente punzonato o
6-
s ti
70
n t
altrimenti contrassegnato), è da considerarsi copia di SAGGIO-CAMPIONE G RATUITO,
Ei sare
-4 g
-2
fuori commercio (vendita e altri atti di disposizione vietati: art. 17, c. 2 L. 633/1941).
72
Ce
8- d
Esente da I.V.A. (D.P.R. 26-10-1972, n° 633, art. 2 lett. d). Esente da bolla di accompa-
L.
Einstein Più
Alla scoperta della Tecnologia
Alla scoperta della Tecnologia
Scuola secondaria di primo grado
Einstein Più
Coding
Per lo studente Per il docente
• Guida per il docente
• Tecnologia • Tavole per il disegno
• DVD M.I.O. BOOK Docente
• Disegno • Tecnologia per studenti con BES (con CD Audio MP3)
• CD Audio MP3
• Coding • DVD M.I.O. BOOK Studente
• Vademecum BES
Configurazioni di vendita
ISBN 978-88-472-2771-2 Tecnologia + Disegno + Tavole per il disegno + Coding + Informatica + DVD M.I.O. BOOK Studente € 29,50
Coding
ISBN 978-88-472-2772-9 Tecnologia + Disegno + Tavole per il disegno + Coding + DVD M.I.O. BOOK Studente € 24,50
ISBN 978-88-472-2773-6 Tecnologia + Disegno + Coding + DVD M.I.O. BOOK Studente € 22,90
ISBN 978-88-472-2774-3 Tecnologia + Disegno + Tavole per il disegno + DVD M.I.O. BOOK Studente € 22,90
ISBN 978-88-472-2775-0 Tecnologia + Disegno + DVD M.I.O. BOOK Studente € 20,50
ISBN 978-88-472-2776-7 Tecnologia + Coding + DVD M.I.O. BOOK Studente € 18,00
ISBN 978-88-472-2701-9 Tecnologia + DVD M.I.O. BOOK Studente € 16,50
• Lezioni per imparare a programmare
ISBN 978-88-472-2777-4 Disegno + Tavole per il disegno + DVD M.I.O. BOOK Studente € 12,50
ISBN 978-88-472-2044-7 Informatica + DVD M.I.O. BOOK Studente € 9,50 con Scratch
ISBN 978-88-472-2705-7 Tecnologia per studenti con BES + CD Audio MP3 € 7,50
ISBN 978-88-472-2706-4 Coding € 6,00
Prezzo di vendita
al pubblico