Confronto tra numeri

Confronto tra numeri

In questa lezione svilupperemo un algoritmo che consente di fare il confronto tra numeri utilizzando Scratch.

Confronto tra numeri con Scratch

Ecco dunque una possibile implementazione dell’algoritmo:

Procedimento

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.

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.

simbolo confronto numeri

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‘.

confronto numero

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.

ciclo confronti 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:

Confronti numeri

Abbiamo sviluppato un semplicissimo programma per il confronto tra numeri, personalizzatelo come meglio credete.

Alcuni link utili

Indice tutorial Scratch 3.0

Indice argomenti Scratch 2.0

Numeri primi in Scratch

Massimo fra tre numeri in Scratch

Minimo tra 3 numeri in Scratch

Numeri perfetti con algobuild

Numeri amicabili

Selecion sort in Scratch

Esempio di successione di Fibonacci con Algobuild

La successione di Fibonacci in C++

Numero perfetto

Numero perfetto

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.

Numero perfetto con Scratch

Ecco il funzionamento dell’algoritmo.

Spieghiamo l’algoritmo passo passo.

Innanzitutto scegliete uno sfondo a piacere. Dopo chiediamo all’utente di inserire un numero e lo memorizziamo in una variabile.

numero perfetto Scratch

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.

divisori

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:

divisore perfetto

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.

ciclo perfetto

Quindi rimane da controllare se il numero è uguale a sommadivisori, se questa proprietà è verificata allora il numero è perfetto, altrimenti non lo è.

Ecco dunque l’algoritmo finito:

algoritmo finale

Alcuni link utili

Indice tutorial Scratch 3.0

Indice argomenti Scratch 2.0

Numeri primi in Scratch

Massimo fra tre numeri in Scratch

Minimo tra 3 numeri in Scratch

Numeri perfetti con algobuild

Numeri amicabili

Selecion sort in Scratch

Esempio di successione di Fibonacci con Algobuild

La successione di Fibonacci in C++

Trovare un numero primo con Scratch

Trovare un numero primo con Scratch

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.

sfondo numero primo con Scratch

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.

chiedere un 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.

divisore

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.

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:

Trovare un Numero primo con Scratch ottimizzazione

Questo è un semplice esempio per trovare un numero primo con Scratch, nella prossima lezione implementeremo altri algoritmi.

Alcuni link utili

Indice tutorial Scratch 3.0

Indice argomenti Scratch 2.0

Numeri primi in Scratch

Massimo fra tre numeri in Scratch

Minimo tra 3 numeri in Scratch

Numeri perfetti con algobuild

Numeri amicabili

Selecion sort in Scratch

Esempio di successione di Fibonacci con Algobuild

La successione di Fibonacci in C++

Lista in Scratch

Lista in Scratch

Una lista in Scratch è un contenitore che permette di contenere più valori alla volta, per poi essere richiamati all’occorrenza.

Lista in Scratch

Per creare una lista in Scratch occorre andare nella sezione variabili e dopo scegliere il pulsante crea lista.

crea lista

Creiamo dunque il nostro semplice programma che utilizza le liste, un quiz con le regioni d’Italia ed il loro capoluogo.

Geografia con Scratch

Ecco come abbiamo pensato di realizzare il quiz di geografica con Scratch:

Per implementare lo script, scegliamo innanzitutto lo sfondo e gli sprite necessari.

sprite

Lo sprite per le regioni lo realizziamo con delle immagini che le rappresentano. Quindi personalizziamo lo sprite aggiungendo i vari costumi:

costumi scratch

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:

lista

Adesso occorre realizzare lo script per eseguire le domande. Inseriamo questo codice sempre nello sprite delle regioni.

codice gattino

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.

codice sprite Scratch

Abbiamo terminato il nostro programma che utilizza lo strumento lista in Scratch.

Alcuni link utili

Indice tutorial Scratch 3.0

Indice argomenti Scratch 2.0

Numeri primi in Scratch

Massimo fra tre numeri in Scratch

Minimo tra 3 numeri in Scratch

Numeri perfetti con Algobuild

Numeri amicabili

Selecion sort in Scratch

Esempio di successione di Fibonacci con Algobuild

La successione di Fibonacci in C++

Scratch 3

Scratch 3

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.

Scratch 3 online

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.

area di lavoro Scratch 3 online

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.

Scratch 3 online italiano

Dal menù file è possibile salvare il lavoro che abbiamo realizzato o caricarne uno già fatto.

Scratch salva

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.

community

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.

Alcuni link utili

Indice tutorial Scratch 3

Indice argomenti Scratch 2

Numeri primi in Scratch

Massimo fra tre numeri in Scratch

Minimo tra 3 numeri in Scratch 3

Numeri perfetti con Algobuild

Numeri amicabili

Selecion sort in Scratch

Esempio di successione di Fibonacci con Algobuild

La successione di Fibonacci in C++

Sviluppo con Algobuild della successione di Fibonacci

Coding scuola primaria

Coding scuola primaria

Coding scuola primaria – Proponiamo una serie di esercizi che possono essere utili soprattutto alla didattica del coding nella la scuola primaria.

Coding scuola primaria – esempio di animazione

Questo esercizio è stato sviluppato da Lorenzo, il mio bimbo più piccolo e adesso lo presentiamo per consentire agli altri di prendere spunti e idee.

Vediamo subito la dimostrazione di quello che fa l’animazione:

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.

scuola primaria coding

In maniera analoga costruiamo gli script sugli altri sprite.

Su Andie:

calcio coding

E infine sulla palla:

blocco per sempre

Inoltre inseriamo anche una musica sullo sfondo che dura per tutto il gioco:

musica coding

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.

Alcuni link utili

Indice tutorial Scratch 3.0

Indice argomenti Scratch 2.0

Numeri primi in Scratch

Massimo fra tre numeri in Scratch

Minimo tra 3 numeri in Scratch

Numeri perfetti con Algobuild

Numeri amicabili

Selecion sort in Scratch

Esempio di successione di Fibonacci con Algobuild

La successione di Fibonacci in C++

Sviluppo con Algobuild della successione di Fibonacci