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.

Banner Pubblicitario

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.

 

Banner pubblicitario

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