Gioco nello spazio con Scratch

Immergiamoci in un avvincente gioco spaziale, dove il nostro intraprendente personaggio, Ripley, si trova a dover affrontare una sfida cosmica. Una sfera pericolosa si muove attraverso lo spazio, e il compito di Ripley è evitarla a ogni costo.

All’avvio del gioco, la sfera inizia a navigare lo spazio con una velocità casuale, mentre Ripley, con il tuo controllo, deve destreggiarsi abilmente per evitarla. Il nostro coraggioso protagonista dispone di 5 vite, e perderà una di esse ogni volta che la sfera lo colpirà.

Un tocco unico nel gioco è che, ogni volta che Ripley viene colpito, lo sfondo dello spazio cambierà, aggiungendo una dimensione visiva e dinamica al nostro viaggio intergalattico.

Il gioco prosegue fino a quando Ripley esaurisce le sue vite a disposizione. Che la fortuna cosmica sia con te mentre affronti questa avventura galattica!

Indovinelli con Scratch

In questa lezione realizzemo un gioco con gli indovinelli con Scratch.
Proporremo 4 semplici indovinelli:
1) Giro curioso nel bosco fitto e frondoso. Mi arrotolo in palla, sono piccolo e gioioso.
2) Mi nutro di insetti nell’oscurità, Un piccolo mammifero nella mia verità.
3) Nella notte mi senti cantare, Con occhi grandi posso guardare.
4) Faccio il sonnellino durante la lunga stagione. Amo miele e pesce, sono un buon pescatore!

Per individuare la risposta corretta, occorre trascinare ciascun animale sulla macchina. Se la macchina parte con l’animale vuol dire che la risposta è corretta, altrimenti la macchina cambia colore e l’animale ritorna in posizione.

Ecco una possibile implementazione del gioco indovinelli con Scratch:

Terna pitagorica

Terna pitagorica

Realizziamo oggi un semplice programma sulla terna pitagorica utilizzando Scratch.

Il termine deriva da Pitagora. Infatti la terna pitagorica è l’aspetto aritmetico, del ben noto teorema geometrico di Pitagora, di cui ricordiamo l’enunciato:

In ogni triangolo rettangolo il quadrato costruito sull’ipotenusa è equivalente alla somma dei quadrati costruiti sui cateti.

Quindi, dal punto di vista aritmetico, se tre numeri interi a, b e c verificano la relazione a2 + b2 = c2, allora si dice che formano una terna pitagorica.

Esistono dunque infinite terne con numeri interi che soddisfano questa condizione, come ad esempio: 3, 4 e 5 oppure 5, 12 e 13 e così via.


Terna pitagorica con Scratch

Si realizzi dunque un programma che legga in input tre valori (a, b e c) e determini se questi numeri possono formare una terna pitagorica, utilizzando la programmazione a blocchi con Scratch.

Innanzitutto scegliamo uno sfondo e uno sprite qualunque.

sfondo terna

Dopo creiamo tre variabili: a, b e c.

Chiediamo di inserire il primo cateto (a), dopo il secondo cateto (b) ed infine l’ipotenusa (c).

Quindi verifichiamo che la proprietà descritta sopra sia soddisfatta.

Ecco quindi il codice completo:

radice quadrata scratch

In questo modo verifichiamo che il triangolo è rettangolo dal punto di vista geometrico e che i tre numeri formano una terna pitagorica dal punto di vista aritmetico.

Bene, ma se non volessimo dare importanza all’ordine di inserimento dei dati?

In questo caso allora occorre, prima di applicare la formula, calcolare il valore massimo tra i tre valori inseriti in input.

Quindi controlliamo innanzitutto se b è maggiore di a e se è vero allora:

– controllo se b è maggiore di c e:

– se vero allora si deve verificare che: a2 + c2= b2;

– se invece è falso si deve verificare che: a2 + b2 = c2.

– invece se b maggiore di a è falso allora controllo se a è maggiore di c:

– se vero allora si deve verificare che: c2 + b2= a2;

– se falso invece si deve verificare che: a2 + b2 = c2.

Ecco dunque la seconda soluzione dell’algoritmo sulla terna pitagorica con scratch.

confronto
terna 2

Chiaramente la soluzione proposta è solo uno dei possibili metodi per realizzare l’algoritmo sulla terna pitagorica con Scratch.

Alcuni link utili

Area e perimetro con scratch

Divisori di un numero con scratch

Multipli di un numero con scratch

Potenze con scratch

Quoziente potenze stessa base con scratch

Palindroma con scratch

Storiella con scratch

Operazioni matematiche con scratch

Come sommare un intervallo di numeri con scratch

Anno bisestile con scratch

Figure equivalenti con scratch

Media di N numeri con scratch

Media di N numeri con scratch

Sviluppiamo oggi un programma che calcola la media di N numeri con scratch. Svilupperò l’algoritmo presentando due possibili soluzioni, di cui la più semplice è l’ultima, in fondo all’articolo.

Prendere in input da 1 a 9 materie, facendo un controllo dell’input, calcolare e visualizzare la media dei voti.


Procedimento algoritmo per il calcolo della media di N numeri con Scratch

La prima operazione da fare è scegliere uno sfondo e uno sprite qualunque.

media sfondo

Dopo creiamo le variabili necessarie.

materie sfondo

In questo caso utilizzo: la variabile materie per indicare il numero delle materie; la variabile media per il calcolo della media; la variabile voto dove memorizzo il voto di ciascuna materia e la variabile numero_materia per indicare il numero della materia.

Quindi sviluppo il codice a blocchi.

Innanzitutto inizializzo la variabile media a zero, questa operazione è importante perché la prima volta che all’interno del ciclo eseguirò l’operazione: media=media+voto, l’elemento che ho messo in grassetto non avrà un valore ben definito perché non ancora calcolato. Allora conviene inizializzarlo all’elemento neutro della somma in quanto non comporta nessuna variazione nei risultati.

Dopo chiedo quante materie inserire e memorizzo questo valore in una variabile. Faccio un controllo per verificare che l’utente non inserisca valori minori di zero o maggiori di 9, cioè permettiamo l’inserimento da 1 a 9 materie.

Poi portiamo la variabile numero_materie a 1 e iniziamo ad inserire i voti (volendo potete anche effettuare un controllo sul voto inserito), utilizzando un ciclo ripeti materie volte (volendo potrei anche utilizzare un ciclo con contatore – ovvero ripeti fino a quando). Ogni voto è sommato e memorizzato nella variabile media. Al termine del ciclo si calcola la media con questa operazione: media=media/materie. Infine si visualizza il risultato.

Avrei anche potuto utilizzare una variabile somma dove sommare a parte i risultati, qualora servisse conservare il risultato della somma.

Ecco il codice a blocchi completo dell’algoritmo per calcolare la media di N numeri con Scratch.

media scratch

Chiaramente l’algoritmo per il calcolo della media di N numeri con Scratch presenta altre soluzioni alternative.

Ad esempio, nella versione più semplice, senza controllo dell’input e conteggio delle materie, si poteva implementare semplicemente così:

calcolo della media


Alcuni link utili

Area e perimetro con scratch

Divisori di un numero con scratch

Multipli di un numero con scratch

Numeri pari con scratch

Esercizi con scratch

Potenze con scratch

Quoziente potenze stessa base con scratch

Palindroma con scratch

Storiella con scratch

Serie buffa con scratch

Operazioni matematiche con scratch

Come sommare un intervallo di numeri con scratch

Anno bisestile con scratch

Selezione con scratch

Olimpiadi di informatica con scratch

Olimpiadi di matematica con scratch

Figure equivalenti con scratch


Quiz Scratch scuola primaria

Quiz Scratch scuola primaria

Quiz Scratch scuola primaria – Realizziamo in questo articolo un semplice quiz in Scratch che affronta i problemi di matematica della scuola primaria.

In realtà questo esercizio può anche essere ripreso alle medie magari con altri tipi di problemi.


Ipotizziamo dunque di avere tre quesiti:

Primo quesito:

Lorenzo entra a scuola alle 8 ed esce alle 16. Quanto dura la giornata scolastica di Lorenzo?

Secondo quesito:

Angelo ha trovato sulla spiaggia 20 conchiglie rosa e 13 conchiglie bianche. Quante conchiglie ha raccolto in tutto?

Terzo quesito:

Un grappolo d’uva era costituito da 22 acini. Maria ne ha mangiati 8. Quanti acini sono rimasti sul grappolo?

Chiaramente potete aumentare a piacimento il numero dei quesiti da proporre agli alunni.


Procedimento quiz Scratch scuola primaria

Procediamo creando le variabili necessarie.

Innanzitutto ci servirà una variabile che chiameremo risultato dove memorizzeremo la risposta data dall’utente.

Dopo ci servirà pure una variabile punti che si incrementerà di uno se la risposta è corretta.

Notiamo poi che tutti i quesiti sono composti da operazioni matematiche che sono effettuate su due numeri, ad esempio n1 ed n2.

Allora ecco le variabili necessarie:

variabili scratch

Scegliamo uno sfondo e uno sprite qualunque:

sfondo sprite

Iniziamo a creare il codice a blocchi.

Innanzitutto inizializziamo la variabile punti a zero.

Dopo, di volta in volta, impostiamo le variabili create n1 ed n2 ai valori del problema dato.

Potevamo anche fare a meno di utilizzare le variabili, ma sono estremamente utili in quanto facilitano il cambio dei dati in tutto il problema.

Se la risposta data dall’utente coincide con il risultato calcolato dal programma allora si guadagnerà un punto.

Essendo tre i quesiti, il punteggio massimo totale è tre.

Al termine del quiz aggiungiamo l’invio del messaggio finito.

Quando dunque si riceve finito, in base al punteggio ottenuto verrà visualizzato un messaggio a video.

Questi sono i quiz inseriti nei blocchi unione. Fate riferimento ai quesiti scritti sopra.

domande

Ecco il codice completo:

quiz scratch
seconda parte quiz

Il blocco invia a tutti finito per il calcolo del punteggio:

punteggio scratch

Chiaramente questo è solo un metodo per la risoluzione del semplice ‘quiz Scratch scuola primaria’, potete trovare tanti altri metodi, come ad esempio l’utilizzo dei blocchi.


Alcuni link utili

Area e perimetro con scratch

Divisori di un numero con scratch

Multipli di un numero con scratch

Numeri pari con scratch

Esercizi con scratch

Potenze con scratch

Quoziente potenze stessa base con scratch

Palindroma con scratch

Storiella con scratch

Serie buffa con scratch

Operazioni matematiche con scratch

Come sommare un intervallo di numeri con scratch

Anno bisestile con scratch

Selezione con scratch

Olimpiadi di informatica con scratch

Olimpiadi di matematica con scratch

Figure equivalenti con scratch


Algoritmo di Euclide

Algoritmo di Euclide

L’algoritmo di Euclide è un metodo per trovare il massimo comune divisore tra due numeri interi.

Ricordiamo che il massimo comune divisore, MCD, tra due numeri interi è il più grande divisore comune ad entrambi.

Come si determina? Si calcola per ognuno l’elenco dei divisori e tra i due gruppi si individua il numero più grande.

Ricordo che vi avevo presentato l’algoritmo in questa lezione: massimo comune divisore con scratch.

Ma Euclide riuscì a risolvere il problema senza calcolare tutti i divisori!

L’idea è stata questa: anziché calcolare il MCD tra i due numeri a e b, si divide a per b e si calcola il resto r.

Dopo si ricava il MCD tra b ed r e si procede fino a quando si ha resto 0. L’ultimo divisore è il MCD cercato.


Facciamo un esempio:

Prendiamo i due numeri 40 e 15 e procediamo secondo l’algoritmo di Euclide.

Primo passaggio: a/b cioè 40/15=2 resto 10

Secondo passaggio scambiamo a con b e b con r cioè 15/10=1 resto 5

Terzo passaggio scambiamo a con b e b con r cioè 10/5=2 resto 0.

Abbiamo trovato resto zero, quindi il MCD è 5.


Facciamo ancora un altro esempio:

Consideriamo i due numeri 84 e 48.

Avremo questi passaggi:

84/48=1 resto 36

48/36=1 resto 12

36/12=3 resto 0

Allora MCD è 12.


Algoritmo di Euclide per il MCD con Scratch

Bene una volta capito il procedimento sviluppiamo l’algoritmo di Euclide con Scratch.

Innanzitutto scegliamo uno sfondo e uno sprite qualsiasi.

euclide

Dopo creiamo le variabili necessarie:

variabili algoritmo di euclide

Poi realizziamo il nostro codice a blocchi.

– Prendiamo inizialmente i nostri due numeri in input.

– Dopo finché il secondo numero non diventa zero facciamo queste operazioni:

– Memorizziamo nella variabile resto il resto della divisione di numero1 per numero2.

– Nella variabile numero1 memorizziamo il valore di numero2 e nella variabile numero2 memorizziamo il resto.


Provando con l’esempio sopra:

numero1=84 e numero2=48

quindi resto=numero1%numero2 cioè resto=84%48 ovvero resto=36.

Poi memorizziamo in numero1 il valore di numero2 e in numero2 il valore di resto e quindi numero1=48 e numero2=36.

E così via, faccio questi passaggi finché non ottengo più il resto.


Notate che dopo il ciclo ho inserito un’istruzione condizionale: se il numero1 che corrisponde al nostro massimo comune divisore è negativo allora diventa positivo. Perché ad esempio il MCD(84,48)=MCD(-84,48)=MCD(84, -48)=MCD(-84, -48).

Ecco il diagramma a blocchi completo.

scratch 2


Chiaramente si poteva introdurre il controllo per verificare che i numeri presi in input siano interi. Provate a farlo, vi darò la soluzione in un prossimo articolo.

Come si nota l’algoritmo di Euclide per il massimo comune divisore è una soluzione molto più semplice rispetto alla precedente.

Alcuni link utili

Area e perimetro con scratch

Divisori di un numero con scratch

Multipli di un numero con scratch

Numeri pari con scratch

Esercizi con scratch

Potenze con scratch

Quoziente potenze stessa base con scratch

Palindroma con scratch

Storiella con scratch

Serie buffa con scratch

Operazioni matematiche con scratch

Come sommare un intervallo di numeri con scratch

Anno bisestile con scratch

Selezione con scratch

Olimpiadi di informatica con scratch

Olimpiadi di matematica con scratch

Figure equivalenti con scratch