Realizziamo un programma che calcoli il massimo tra N numeri in Scratch.
Ovvero dati N numeri determinare il maggiore.
Definizione di massimo
Il valore massimo, molte volte detto semplicemente max, è il valore più grande tra una serie di numeri.
Procedimento dell’algoritmo che calcola il massimo tra N numeri con Scratch
Primo procedimento con ripeti N volte
Per sviluppare l’algoritmo utilizzeremo due variabili: N e Max.
Quindi, chiediamo quanti numeri vogliamo inserire e memorizziamo il risultato in N.
Dopo chiediamo il primo numero e lo memorizziamo nella variabile Max. Quindi, dato che abbiamo chiesto un numero adesso ne dovrò inserire N-1.
Poniamo N uguale ad N-1.
Realizziamo poi un ciclo che per N volte chiede di inserire dei numeri. All’interno del ciclo ciascun numero verrà confrontato con il MAX e se è maggiore la variabile Max assumerà il valore di quel numero.
Abbiamo così realizzato l’algoritmo che calcola il massimo tra N numeri in Scratch.
Questa soluzione è stata realizzata utilizzando ripeti N volte e quindi non è servito il contatore.
Ma realizziamo anche una soluzione che invece utilizzi il ciclo ripeti fino a quando.
Secondo procedimento dell’algoritmo che calcola il massimo tra N numeri con Scratch
Seconda soluzione con l’utilizzo di ripeti fino a quando
Per realizzare questa soluzione servono tre variabili:
N che indica quanti numeri vogliamo inserire;
La variabile Max che conterrà il valore massimo;
La variabile contatore che terrà traccia dei numeri inseriti.
Quindi chiediamo quanti numeri vogliamo inserire e memorizziamo il valore nella variabile N.
Dopo, come abbiamo fatto prima, chiediamo il primo numero e lo memorizziamo in Max.
Facciamo partire la variabile contatore da N-1 perché abbiamo già inserito un elemento, allo scopo di decrementarla ogni volta che si inserisce un numero.
Quindi realizziamo un ciclo che si fermerà quando il valore di contatore raggiungerà zero, ovvero quando si inseriranno tutti i numeri.
All’interno del ciclo, come abbiamo fatto prima, confrontiamo i valori inseriti con Max e ne sostituiamo il valore solo nel caso in cui N è maggiore del Max.
Dobbiamo anche decrementare il contatore di 1. Se dimenticheremo di farlo il ciclo infatti diventerebbe infinito.
Ecco lo script completo.
Chiaramente l’algoritmo può essere ampliato con tanto altro, ad esempio si potrebbe inserire un controllo dell’input.
Molte volte si vedono alcuni algoritmi risolti assegnando max=0 invece di chiedere il primo numero. A mio avviso non è molto corretta in quanto se ad esempio si presenta il caso in cui tutti i numeri inseriti sono dei numeri negativi il massimo risulterà essere 0!
Alcuni link utili
La successione di Fibonacci in Scratch
Massimo fra tre numeri in Scratch
Minimo tra 3 numeri in Scratch