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.

Banner Pubblicitario

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

Banner pubblicitario

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