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:

Banner Pubblicitario

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.

Banner pubblicitario

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