In questo articolo faremo i primi passi con Scratch, un ambiente di programmazione ad eventi particolarmente adatto all’insegnamento della geometria ai bambini.
All’apertura di Scratch 2 appare un simpatico gattino arancione in un rettangolo bianco. Il gattino è lo “sprite” (trad. “spiritello”) predefinito in Scratch, che possiamo muovere nello “Stage” (trad. “palcoscenico”) componendo uno “script” (trad. “copione”) nella parte sinistra dello schermo, in cui scriveremo il codice.

Per sprite in informatica si intende una figura bidimensionale che può essere mossa rispetto allo schermo.
Vedremo che lo sprite predefinito di scratch può essere modificato o sostituito, inoltre scratch può gestire numerosi sprite nello stesso programma.
Al primo avvio, Scratch è impostato per l’utilizzo della lingua inglese. Vi consiglio di modificare le impostazioni cliccando sull’icona “mappamondo” in alto a sinistra, situata prima del menu file: ![]()
Le complesse funzionalità dell’editor di Scratch verranno spiegate successivamente, per adesso vediamo come impartire allo sprite alcuni semplici comandi.
La posizione dello sprite è definita dalle due coordinate, X e Y. Scratch utilizza un sistema di riferimento cartesiano con origine degli assi al centro dello schermo. X varia in un intervallo tra -240 e + 240, mentre Y varia tra -180 e 180.

Lo sprite è dunque posizionato nello “stage”. Per controllare le azioni dello sprite, possiamo scrivere uno script nella sezione dell’editor dedicata al codice.
Ad esempio, vogliamo far raggiungere al gatto la posizione x=100, y=50. Basta fare quanto segue:
- trascinare il blocco
nella parte in cui scriveremo il “copione” dello sprite, che possiamo chiamare “area del codice” o “scritp area”; - impostare opportunamente i valori di x e y;
- cliccare col tasto sinistro sul blocco.
Il risultato è il seguente:

Per meglio spiegare il sistema di riferimento cartesiano, lo stage è stato opportunamente modificato.
Sul vostro schermo lo stage è un rettangolo bianco, che però potreste modificare utilizzando le icone poste in basso a sinistra:
La prima icona consente di accedere ad una libreria, la seconda ad un editor, la terza di caricare un’immagine ed infine la quarta di scattare una foto con la webcam.
Scratch dispone di una vasta libreria di stage, ma sarà divertente con il vostro bambino importare immagini da internet o utilizzare le foto delle vacanze.
Torniamo alle funzioni di controllo dello sprite. Possiamo notare che sotto il suo disegno, in alto a destra dello schermo nell’area del codice, sono presenti le attuali coordinate.
Lo sprite, come accadeva con il linguaggio di programmazione “Logo” da cui Scratch deriva, può disegnare. Per fare ciò possiamo utilizzare il blocco”penna giù” nella palette dei blocchi “penna”, come vedremo presto. Dobbiamo anticipare che i blocchi dei comandi possono essere uniti l’uno all’altro, come fossero mattoncini delle costruzioni.
Concatenando i blocchi per far muovere lo sprite, possiamo fargli tracciare un disegno. Ad esempio, per fare un quadrato è sufficiente scrivere il seguente script:

Cliccare sul blocco appena creato con il tasto sinistro. Il risultato nello stage sarà il seguente:

Cancelliamo adesso il quadrato e riportiamo il gattino nella posizione X=0; Y=0.
Per fare ciò:
1) cliccare sull’icona “Stage” in basso a sinistra. Vedrete cambiare l’Editor poiché spariranno gli script legati allo sprite;
2) nella sezione script, cliccare “penna”;
3) cliccare dunque sul blocco “pulisci” (non serve trascinarlo nella sezione dedicata al codice).

Passiamo quindi allo sprite:
1) selezioniamo lo sprite del gattino;
2) clicchiamo sul blocco “vai a x:0 y:0” già presente nella parte dedicata alla compilazione dei blocchi.

L’intento di questa parte conclusiva dell’articolo è mostrarvi come lo sprite possa muoversi non solo tramite coordinate cartesiane, ma anche impartendo comandi basati sull’angolo di rotazione e del numero di passi da compiere.
Ad esempio, facciamo ruotare lo sprite di 60 gradi in senso antiorario e poi facciamolo camminare per 100 passi:

Cliccare sul blocco creato, il risultato sarà il seguente:

Ricordiamo che nello script precedente abbiamo utilizzato il comando “penna giù”. Fino a quando non selezioneremo “penna su” lo sprite continuerà a disegnare.
Sappiamo ora tutto quanto necessario per creare un esagono: è sufficiente costruire il seguente blocco mediante il quale completeremo gli spostamenti eseguiti dallo sprite fino a chiudere il poligono.

Il risultato è il seguente.

Lascio a voi immaginare quali applicazioni potranno essere realizzate per insegnare la geometria ai vostri bambini.
Scratch è un linguaggio di programmazione vero e proprio, e il disegno che abbiamo fatto impartendo volta per volta gli angoli di rotazione e i passi da fare può essere ottenuto con uno script che utilizzi la ricorsività.
Vediamo come fare. Per prima cosa dobbiamo pulire lo stage. Ricordiamo che per fare ciò è sufficiente accedere ai controlli dello stage e cliccare il blocco “pulisci” nella palette “penna”.
Sappiamo che la penna è stata impostata su “giù”, quindi qualsiasi movimento facciamo fare allo sprite, esso traccerà una linea.
Componiamo il seguente script nell’area del codice:

Il blocco “ripeti” è nella palette “controllo” della scheda degli script.
A questo punto avete tutti gli elementi per poter esplorare in autonomia le caratteristiche di Scratch.
