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 inserissi 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 così ottenuto con 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:

Per chi volesse consultare l’algoritmo in C++, 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++

Autore dell'articolo: cristina

Avatar per Coding Creativo

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *