Innanzitutto scegliamo uno sfondo ed uno sprite a piacere.
Dopo creiamo le due variabili numero1 e numero2. Assegniamo a ciascuna un valore a caso tra 1 e 100 (chiaramente potete scegliere voi l’intervallo desiderato).
In questo modo, ogni volta che il programma verrà avviato verranno generati dei nuovi numeri random.
Adesso chiediamo all’utente di inserire il simbolo giusto tra il primo ed il secondo numero. Il simbolo da inserire sarà: <, > oppure =.
Memorizziamo la risposta inserita dall’utente in una variabile che chiameremo simbolo.
Abbiate cura di rendere le variabili visibili:
Le posizionate sullo schermo, cliccate con il tasto destro su di esse e selezionate l’opzione grande:
Quindi adesso dobbiamo sviluppare il nostro algoritmo pensando alle possibili condizioni.
Visualizziamo il messaggio ‘Hai detto giusto‘ se il simbolo inserito è corretto, altrimenti il messaggio ‘Risposta sbagliata‘.
Possiamo pensare di ripetere questa operazione ad esempio 10 volte, utilizzando il blocco ripeti 10 volte. In questo modo verranno effettuati più operazioni di confronto tra numeri.
Infine possiamo aggiungere un punteggio per ogni risposta corretta.
Quindi creiamo una variabile punti che inizializziamo a zero e che incrementiamo di 1 per ogni risposta corretta.
Inoltre puliamo la variabile simbolo in modo che appaia vuota prima che l’utente inserisca il simbolo:
Abbiamo sviluppato un semplicissimo programma per il confronto tra numeri, personalizzatelo come meglio credete.
Un numero si dice perfetto quando la somma dei suoi divisori propri è uguale al numero stesso. Per divisori propri si intende tutti i divisori tranne il numero stesso.
Alcuni esempi di numeri perfetti sono 6, 28, 496, 8128, ecc…
Infatti se consideriamo il numero 6 i divisori propri sono 1, 2 e 3. La somma di questi divisori è proprio 6.
Se consideriamo il numero 28 la somma dei divisori è 1+2+4+7+14=28.
Quindi in definitiva per risolvere l’algoritmo con Scratch basta trovare tutti i divisori di un numero e sommarli.
Innanzitutto scegliete uno sfondo a piacere. Dopo chiediamo all’utente di inserire un numero e lo memorizziamo in una variabile.
Adesso impostiamo la variabile divisore ad 1, cioè cominciamo a dividere per 1 il numero preso in input. Dopo impostiamo la variabile sommadivisori a 0.
Quindi inseriamo il ciclo ripeti fino a quando inserendo la condizione divisore>numero/2. Cioè continueremo a dividere il numero finché il divisore sarà uguale alla metà del numero. Infatti, dato che dobbiamo escludere come divisore il numero stesso e dato che è scontato che dividere un numero per valori maggiori della sua metà dà resto diverso da 0, possiamo fermarci alla sua metà.
Ad esempio se il numero preso in input è 6, il divisore si ferma a 3.
Quindi ecco il prossimo passaggio:
Adesso dobbiamo controllare se il resto della divisione di numero diviso divisore è uguale a zero. Se questa condizione è vera il divisore si somma alla variabile sommadivisori.
In ogni caso si incrementa il divisore di 1.
Quindi rimane da controllare se il numero è uguale a sommadivisori, se questa proprietà è verificata allora il numero è perfetto, altrimenti non lo è.
Realizziamo un semplice programma per trovare un numero primo con Scratch.
Scegliamo uno sfondo e uno sprite qualsiasi.
Io ad esempio ho scelto questa scena.
Dopo chiediamo al nostro programma di inserire un numero in input, realizzando lo script sul gattino. Memorizziamo il numero immesso da tastiera in una variabile di nome numero.
Per verificare se un numero è primo dobbiamo dividerlo progressivamente per un numero che parta da 1 e che si fermi al numero stesso. Così al termine se i divisori sono solo due allora il numero è primo.
Quindi impostiamo la variabile divisore ad 1. Dopo costruiamo un ciclo ripeti fino a quando che faremo terminare quando il divisore raggiunge il numero, escludendo proprio la divisione per il numero stesso. Difatti tutti i numeri sono divisibili per se stesso e per uno. Quindi iniziamo escludendo proprio il numero stesso.
Il divisore ogni volta si incrementa di 1 ed il ciclo continuerà fino a quando il divisore arriva a numero -1. Infatti non appena la condizione numero=div è verificata si esce fuori dal ciclo.
Adesso ci serve un contatore che si incrementi ogni volta che troviamo un divisore. Chiamiamo questo contatore conta e lo inizializziamo a zero. Dopo, se troviamo un divisore allora incrementiamo il suo valore di 1.
Quindi adesso ci rimare da controllare, alla fine del ciclo, se il contatore vale più di 1. Se si, allora il numero non è primo.
Trovare un numero primo con Scratch – ottimizzazione
Chiaramente è possibile fare alcune ottimizzazioni, infatti potremmo uscire fuori dal ciclo non appena viene trovato un divisore.
Modifichiamo la condizione inserendo tramite l’operatore logico o la condizione conta >1.
Ecco dunque il programma completo:
Questo è un semplice esempio per trovare un numero primo con Scratch, nella prossima lezione implementeremo altri algoritmi.
Per implementare lo script, scegliamo innanzitutto lo sfondo e gli sprite necessari.
Lo sprite per le regioni lo realizziamo con delle immagini che le rappresentano. Quindi personalizziamo lo sprite aggiungendo i vari costumi:
Adesso dobbiamo creare una lista in Scratch per le regioni ed un’altra per i capoluoghi. Possiamo crearle anche nello sprite delle regioni.
Uso dello strumento lista in Scratch
Ecco dunque le liste regioni e capoluogo:
Adesso occorre realizzare lo script per eseguire le domande. Inseriamo questo codice sempre nello sprite delle regioni.
Definiamo un nuovo blocco domande e inseriamo il codice necessario seguendo questi passi:
1. Passiamo al primo costume disponibile, nel nostro caso Sicilia.
2. Assegniamo alla variabile punti il valore 0. La variabile punti serve a contare le domande giuste.
3. La variabile i serve a scorrere la lista. Parte da 1 e arriverà fino alla lunghezza della lista, in questo caso 20. Dunque assegniamo ad i il valore iniziale 1.
4. Realizziamo un ciclo che termina quando avrà finito di leggere gli elementi della lista.
In questo ciclo ripetiamo i seguenti passaggi:
– Chiediamo il capoluogo del primo elemento della lista regione.
– Confrontiamo la risposta con il primo elemento della lista capoluogo.
– Se la risposta è corretta aggiungiamo un punto al punteggio precedentemente accumulato.
– Passiamo al costume seguente che rappresenta la nuova regione e cambiamo il contatore i di 1.
Al termine del ciclo, inviamo il messaggio 1 che verrà ricevuto dallo sprite del gatto.
Quindi aggiungiamo il blocco domande sotto il comando quando si clicca sulla bandierina verde.
Adesso aggiungiamo il codice necessario per far parlare il gattino di Scratch.
Finché ci sono elementi nella lista visualizziamo con un messaggio il punteggio raggiunto.
Quando il gattino riceve il messaggio 1, vuol dire che tutte le domande sono state terminate e dunque visualizza il messaggio opportuno in base al punteggio raggiunto.
Abbiamo terminato il nostro programma che utilizza lo strumento lista in Scratch.
Scratch 3 è la nuova versione del software più utilizzato per la programmazione a blocchi, che è possibile utilizzare anche online.
Ci sono tante novità rispetto alla versione precedente, soprattutto dal punto di vista grafico. Infatti il programma è diventato ancora più intuitivo e semplice da utilizzare.
Scratch 3 online
Per utilizzare Scratch possiamo eseguire varie procedure e cioè utilizzarlo dal sito ufficiale online oppure scaricarlo sul proprio computer.
Come prima cosa vediamo come utilizzarlo dal sito ufficiale.
Occorre andare al seguente link https://scratch.mit.edu/ e cliccare sul collegamento crea in alto a sinistra oppure, in alternativa, sul pulsante inizia a creare.
In entrambi i casi si aprirà una schermata, come quella della figura sotto, dove è possibile seguire il tutorial oppure iniziare a creare direttamente i nostri programmi.
Per maggior comodità potete anche cambiare la lingua impostata di default. Basta andare nel logo in alto a sinistra, che rappresenta il mappamondo e selezionare italiano.
Dal menù file è possibile salvare il lavoro che abbiamo realizzato o caricarne uno già fatto.
Scratch 3 online e la community
Inoltre, se si desidera, è anche possibile unirsi alla community registrandosi nell’apposita area, per poter condividere con gli altri i progetti realizzati.
Scratch 3 download versione offline
In alternativa è possibile utilizzare Scratch in modalità offline, scaricandolo dunque sul vostro computer.
Quindi occorre andare nella sezione in basso, nell’area dedicata al supporto e scegliere la voce scarica sul tuo computer.
Dopo, nella pagina che si apre, bisogna scegliere la versione in base al sistema operativo del vostro dispositivo e poi cliccare su download diretto.
Conclusioni
Questo semplice tutorial è solo una semplice introduzione al programma, nella prossima lezione analizzeremo quali sono gli strumenti che Scratch ci mette a disposizione.
La scena si svolge su una spiaggia e gli attori sono due giocatori.
Da un lato abbiamo quindi un calciatore che lancia una palla da basket e dall’altra parte l’altro giocatore che la prende. Il tutto si ripete tre volte e dopo la semplice animazione termina.
Coding scuola primaria – Procedimento
Per realizzare questo esercizio innanzitutto scegliamo uno sfondo e gli sprite necessari. Noi abbiamo scelto lo sfondo Beach Rio e gli sprite Ben, Andie e Basketball.
Quindi su Ben abbiamo inserito questo codice:
1. Scegliamo il blocco di inizio quando si clicca sulla bandiera verde
2. Dopo partiamo dal costume ben-d e diamo un messaggio di benvenuto.
3. Quindi con un ciclo che si ripete 3 volte cambiamo costume ogni secondo per mimare il movimento del calcio alla palla.
4. Quando il ciclo termina si passa al costume ben-c e si visualizza in output il messaggio che il gioco è finito.
5. Infine si inserisce il blocco ferma tutto.
In maniera analoga costruiamo gli script sugli altri sprite.
Su Andie:
E infine sulla palla:
Inoltre inseriamo anche una musica sullo sfondo che dura per tutto il gioco:
Ecco un semplicissimo progetto sul coding adatto anche ai bimbi della scuola primaria.
Questa sezione ‘Coding scuola primaria’ sarà ampliata con tanti altri esempi ed esercizi utili.