Multipli di un numero in Scratch

Multipli di un numero in Scratch

In questa lezione implementeremo un algoritmo per calcolare i multipli di un numero in Scratch 3.

Dati N numeri contare quanti sono i multipli di 3.

Multipli di un numero in Scratch – Procedimento

Come sempre innanzitutto scegliamo uno sfondo ed uno sprite qualsiasi.

Dopo creiamo le seguenti variabili:

conta, N e numero.

Poi aggiungiamo allo sprite il seguente codice a blocchi:

1. Inizializziamo a zero la variabile che serve a contare i multipli, che chiamiamo per semplicità conta.

2. Chiediamo quanti numeri inserire.

3. Portiamo la variabile N a risposta.

4. Realizziamo un ciclo che ripeteremo finché la condizione N maggiore di 0 è falsa e inseriamo queste istruzioni:

a. Chiediamo quanti numeri inserire.

b. Portiamo la variabile N a risposta.

Il ciclo serve ad inserire nuovamente N, qualora l’utente dovesse inserire un numero uguale a zero o negativo.

5. Realizziamo un altro ciclo che ripeteremo N volte e inseriamo queste istruzioni:

a. Chiediamo quindi di inserire il numero.

b. Portiamo la variabile numero a risposta.

c. Con l’istruzione se controlliamo che il resto della divisione di numero diviso 3 sia uguale a zero e se vero:

d. Cambiamo la variabile conta di 1.

6. Infine visualizziamo quanti multipli di 3 abbiamo contato con l’istruzione dire.

Ecco quindi il codice completo per il conteggio dei multipli di un numero in Scratch:

multipli

Chiaramente si poteva utilizzare anche un’istruzione ripeti fino a quando ed utilizzare così una variabile contatore.

Ecco la seconda soluzione che utilizza il ciclo ripeti fino a quando. Chiamo la variabile contatore i.

multpli numeri

Si poteva procedere anche decrementando N di uno per ogni numero inserito.

Algoritmo dei multipli in C++

Allego anche il codice in C++ dell’algoritmo per il conteggio dei multipli di un numero per chi volesse consultarlo:

#include <iostream>
using namespace std;

int main() {
	int N, numero, conta=0;
    
        do{
    	        cout<<"Quanti numeri vuoi inserire? : \t";
		cin>>N;
	}while (N<=0);

	for (;N>0;N--)
		cout<<"Inserisci il numero: \t";
		cin>>numero;
		if(numero%3==0)
			conta++;
	
	}

	cout<<"Hai inserito "<<conta<<" multipli di 3"<<endl;

return 0;
}

Il problema si potrebbe generalizzare chiedendo ad esempio di inserire un multiplo M al posto di considerare il numero 3.

Occorre aggiungere quindi una nuova variabile M e modificare il punto 5c considerando il resto della divisione di numero diviso M.

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++

Quiz a premi

Quiz a premi

In questa lezione impareremo ad utilizzare Scratch per creare un semplice e divertente quiz a premi.

Ipotizziamo di fare 5 domande ad un utente. Ad ogni punteggio ottenuto superiore o uguale a 3 si stabilisce un premio diverso.


Domande per quiz a premi

Potete personalizzare il quiz con le domande che preferite. Io ho inserito queste:

Prima domanda: Quanto misura un angolo giro?
A) 360° B) 90° C) 45° D) 180°
Risposta corretta A) 360°

Seconda domanda: Quali pianeti hanno una consistenza gassosa?
A) Mercurio e Venere B) Giove e Saturno C) Terra e Marte D) Urano e Nettuno
Risposta corretta: D) Urano e Nettuno

Terza domanda: I vegetali sono considerati produttori perché producono?
A) Il nettare utile agli insetti B) L’erba per le mucche C) I frutti per gli uomini D) Il cibo per se
Risposta corretta: D) Il cibo per se

Quarta domanda: L’era glaciale è stata un’era in cui:
A) La maggior parte del nostro pianeta si ricoprì di ghiaccio B) Si sciolsero le calotte polari C) Tutto il pianeta si ricoprì completamente di ghiaccio
Risposta corretta: A) La maggior parte del nostro pianeta si ricoprì di ghiaccio

Quinta domanda: I sette colli di Roma sono di origine:
A) Tettonica B) Vulcanica C) Strutturale D) Morenica
Risposta corretta: B) Vulcanica


Procedimento quiz a premi con Scratch

Innanzitutto scegliamo lo sfondo e gli sprite:

gioco scratch

Poi creiamo le due variabili necessarie:

punti per calcolare il punteggio finale;

risposta per memorizzare la risposta a ciascuna domanda.

Ecco come deve essere il gioco del quiz a premi ideato in questa lezione. Come risposta inserite le lettere A, B, C o D:

Il gioco è stato sviluppando inserendo il codice principale nel personaggio Abby.

Quindi su Abby aggiungiamo le domande. L’esercizio si potrebbe semplificare utilizzando la sezione i miei blocchi che spiegherò a breve!

prima domanda
domande quiz
coding scratch
quarta domanda
ultima domanda

Aggiungiamo sempre su Abby la parte riguardante i premi finali:

punti

Aggiungiamo allo sprite Dani il seguente codice:

scambio messaggi

Poi allo sprite Drum aggiungiamo:

quiz premio drum

Allo sprite keyboard inseriamo il seguente codice:

premio quiz

Ed infine allo sprite Guitar aggiungiamo:

chitarra premio

Adesso potete provare il progetto cliccando sulla bandierina verde.

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++

Somma dei pari e dei dispari

Somma dei pari e dei dispari

In questa lezione implementeremo un algoritmo per la somma dei pari e dei dispari in Scratch 3.

Dati N numeri stampare la somma di quelli pari e di quelli dispari.

Algoritmo per la somma dei pari e dei dispari

Come sempre, innanzitutto scegliamo uno sfondo ed uno sprite qualsiasi.

Dopo creiamo le variabili necessarie:

N indica i numeri da inserire;

numero rappresenta il numero da inserire di volta in volta;

somma_p per la somma dei numeri pari;

somma_d per la somma dei numeri dispari.

1. Inizializziamo a zero le variabili che servono a sommare i pari e i dispari, che chiamiamo somma_p e somma_d.

2. Chiediamo quanti numeri inserire.

3. Portiamo la variabile N a risposta.

4. Realizziamo un ciclo che ripeteremo finché la condizione N maggiore di 0 è falsa e inseriamo queste istruzioni:

a. Chiediamo quanti numeri inserire.

b. Portiamo la variabile N a risposta.

Il ciclo serve ad inserire nuovamente N, qualora l’utente dovesse inserire un numero uguale a zero o negativo.

5. Realizziamo un altro ciclo che ripeteremo N volte e inseriamo queste istruzioni:

a. Chiediamo quindi di inserire il numero.

b. Portiamo la variabile numero a risposta.

c. Con l’istruzione se controlliamo se il numero è pari, cioè se il resto della divisione di numero diviso 2 è uguale a zero e se vero:

d. Sommiamo il numero alla variabile somma_p.

e. Altrimenti sommiamo il numero alla variabile somma_d.

6. Infine visualizziamo le due somme utilizzando l’istruzione dire.

Ecco dunque il codice a blocchi completo dell’algoritmo per la somma dei pari e dei dispari:

somma pari e dispari

Chiaramente si poteva utilizzare anche un’istruzione ripeti fino a quando ed utilizzare così una variabile contatore.

Allego anche il codice in C++ dell’algoritmo per la somma dei pari e dei dispari, per chi volesse consultarlo:

#include <iostream>
using namespace std;

int main() {
	int i, N, numero, somma_p=0,somma_d=0;
    
        do{
    	        cout<<"Quanti numeri vuoi inserire?: \t";
		cin>>N;
	}while (N<=0);

	i=0;
	while(i<N) {
		cout<<"Inserisci il numero: \t";
		cin>>numero;
		if(numero%2==0)
			somma_p+=numero;
		else 
			somma_d+=numero;
		i++;
	}

	cout<<"La somma dei pari e':  "<<somma_p<<endl;
	cout<<"La somma dei dispari e':  "<<somma_d<<endl;
return 0;
}

Nelle prossime lezioni faremo ancora degli esempi di algoritmi sulle strutture iterative in Scratch 3.

Trovare quante volte ricorre il maggiore

Trovare quante volte ricorre il maggiore

Risolviamo questo nuovo problema che consiste nel trovare quante volte ricorre il maggiore in una serie di numeri immessa in input.

Dati N numeri determinare il valore maggiore e quante volte esso ricorre.


Algoritmo per trovare quante volte ricorre il maggiore in scratch 3

Al solito, innanzitutto scegliamo uno sfondo ed uno sprite qualsiasi.

Dopo creiamo le variabili necessarie:

N indica i numeri da inserire;

numero rappresenta il numero da inserire di volta in volta;

max rappresenta la variabile che contiene il numero massimo;

conta_max rappresenta la variabile che conta quante volte ricorre il valore massimo;

1. Inizializziamo la variabile conta_max a 1

2. Chiediamo quanti numeri inserire.

3. Portiamo la variabile N a risposta.

4. Realizziamo un ciclo che ripeteremo finchè la condizione N maggiore di 0 è falsa e inseriamo queste istruzioni:

a. Chiediamo quanti numeri inserire.

b. Portiamo la variabile N a risposta.

Il ciclo serve a inserire nuovamente N qualora l’utente dovesse inserire un numero uguale a zero o negativo.

6. Chiediamo quindi di inserire il primo numero.

7. Portiamo la variabile max a risposta.

Facendo in questo modo stiamo inizializzando il valore massimo al primo numero inserito. Non è infatti possibile inizializzare il valore massimo a zero, in quanto, se ad esempio inserissi questi numeri: -5, -4, -11, il valore massimo inserito risulterebbe zero anzichè -4.

8. Realizziamo un ciclo che ripeteremo N-1 (perchè un numero è già stato inserito) volte e ripetiamo queste istruzioni:

a. Chiediamo un numero

b. Memorizziamo in numero la risposta

c. Utilizziamo l’istruzione se per controllare che il numero appena inserito sia maggiore del valore massimo.

d. se vero allora aggiorniamo la variabile max con il nuovo valore e riportiamo conta_max a 1.

e. altrimenti utilizziamo nuovamente l’istruzione se per controllare che il numero appena inserito sia uguale al valore massimo. Dunque se vero incrementiamo la variabile conta_max.

9. Infine visualizziamo il valore massimo e quante volte occorre con l’istruzione dire.

ricorre il massimo
conta massimo

Ecco dunque una possibile soluzione per trovare quante volte ricorre il maggiore in Scratch 3.

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++

Massimo di N numeri

Massimo di N numeri

In questo esercizio implementeremo un algoritmo per trovare il massimo di N numeri in Scratch.


Procedimento: calcolo del massimo di N numeri in Scratch 3

Scegliamo dapprima uno sfondo ed uno sprite qualsiasi. Dopo, nello sprite scelto, aggiungiamo i seguenti passi:

1. Chiediamo quanti numeri inserire.

2. Portiamo la variabile N a risposta.

3. Realizziamo un ciclo che ripeteremo finché la condizione N maggiore di 0 è falsa e inseriamo queste istruzioni:

a. Chiediamo quanti numeri inserire.

b. Portiamo la variabile N a risposta.

Il ciclo serve a inserire nuovamente N qualora l’utente dovesse inserire un numero uguale a zero o negativo.

5. Chiediamo quindi di inserire il primo numero.

6. Portiamo la variabile max a risposta.

Facendo in questo modo stiamo inizializzando il valore massimo al primo numero inserito. Non è infatti possibile inizializzare il valore massimo a zero, in quanto, se ad esempio inseriamo questi numeri: -5, -4, -11, il valore massimo inserito risulterebbe zero anziché -4.

7. Realizziamo un ciclo che ripeteremo N-1 (perché un numero è già stato inserito) volte e ripetiamo queste istruzioni:

a. Chiediamo un numero

b. Memorizziamo in numero la risposta

c. Utilizziamo l’istruzione se per controllare che il numero appena inserito sia maggiore del valore massimo.

8. Infine visualizziamo il valore massimo di N numeri così ottenuto, utilizzando l’istruzione dire.

massimo n numeri scratch

Al posto di ripeti N-1 volte si poteva utilizzare una variabile contatore ed il ciclo ripeti fino a quando la variabile contatore è uguale ad N-1.

Ricordiamo che in Scratch si entra nel ciclo se la condizione è falsa e si esce quando è vera.

Ecco quindi la seconda soluzione del massimo di N numeri in Scratch 3:

maggiore

Per chi volesse consultare l’algoritmo in C++ per il calcolo del massimo di N numeri, ecco un esempio di possibile sviluppo:

#include <iostream>
using namespace std;

int main() {
	int i, N, max, numero;
    
        do{
    	        cout<<"Quanti numeri vuoi inserire? : \t";
		cin>>N;
	}while (N<=0);

	i=0;
	cout<<"Inserisci il primo numero: \t";
	cin>>max;
	
	while(i<N-1) {
		cout<<"Inserisci il numero: \t";
		cin>>numero;
		if(numero>max)
			max=numero;
		i++;
	}

	cout<<"Il massimo e': \t"<<max<<endl;
return 0;
}

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++

Media di N numeri

Media di N numeri

In questo esempio realizziamo la media di N numeri con Scratch 3.

Quindi chiediamo in input quanti numeri inserire, li sommiamo tra loro ed alla fine calcoliamo e visualizziamo la media.


Procedimento media di N numeri con Scratch

Innanzitutto scegliamo uno sfondo ed uno sprite qualunque. Dopo, nello sprite scelto, aggiungiamo i seguenti passi:

1. Portiamo la variabile somma a zero.

2. Chiediamo quanti numeri inserire.

3. Portiamo la variabile N a risposta.

4. Realizziamo un ciclo che ripeteremo N volte e ripetiamo queste istruzioni:

a. Chiediamo un numero

b. Memorizziamo in numero la risposta

c. Aggiorniamo la somma aggiungendo il numero appena inserito.

5. Al termine del ciclo facciamo la media con l’operazione media=somma/N

6. Infine dire il risultato memorizzato nella variabile media.

 

Ecco quindi il codice a blocchi per il calcolo della media di N numeri con Scratch 3:

media n numeri

Chiaramente però l’utente potrebbe inserire valori di N negativi, o uguale a zero. Quindi sarebbe opportuno fare un controllo dell’input su N.

Per fare ciò basterà inserire un blocco ripeti fino a quando N è maggiore di 0 e all’interno richiedere nuovamente il numero.

Ecco dunque l’algoritmo per il calcolo della media di N numeri con controllo dell’input.

controllo input

Sviluppiamo adesso lo stesso algoritmo in linguaggio C++, per chi vuole vedere le analogie con un linguaggio di programmazione.

Noterete che si entra nel ciclo while se la condizione è vera, al contrario di Scratch.

#include <iostream>
using namespace std;

int main() {
	int i, N;
        float numero, somma, media;
        somma=0;
    
        do{
    	        cout<<"Quanti numeri vuoi inserire? : \t";
		cin>>N;
	}while (N<=0);

	i=0;
	
	while(i<N) {
		cout<<"Inserisci il numero: \t";
		cin>>numero;
		somma=somma+numero;
		i++;
	}
	media=somma/N;
	cout<<"La media dei numeri e': \t"<<media<<endl;
}

Potremmo anche fare a meno di utilizzare la variabile somma e memorizzare tutto nella variabile media, in quanto non ci serve riutilizzare il valore della somma.

Inoltre l’istruzione somma=somma+numero; si può scrivere anche come somma+=numero.

Chiaramente al posto del while si potrebbe utilizzare anche il ciclo for.

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++