Indagini statistiche con scratch e le liste

Uno dei modi per spiegare il grande vantaggio dell’uso dei calcolatori riguarda la capacità di operare su grandi quantità di numeri e tirare fuori risultati in poco tempo.

In questo esercizio cercheremo di simulare una indagine statistica su un certo numero di valori che per comodità elaboreremo attraverso un generatore di numeri casuali. Per gestire il tutto occorre creare una lista di numeri. Non possiamo utilizzare delle singole variabili vista la quantità di dati ma utilizziamo uno strumento lista che su scratch è molto ben fatto.
 Qui a lato vediamo il codice associato alle liste. Ho creato una lista chiamandola numeri. Le liste possono avere un numero indefinito di valori e avendo un indice dal primo all’ultimo elemento possiamo accedere ad esse attraverso una istruzione “elemento x di lista”. Per l’accesso sequenziale alla lista usiamo il ciclo. Di solito ciclo e liste (che nel gergo informatico prendono il nome di array) sono una accoppiata vincente nella elaborazione di una certa quantità di dati che non possono essere associati a poche variabili. Nell’elenco a lato vediamo alcuni blocchi interessanti come quello per l’aggiunta di un elemento, la cancellazione, l’inserimento in un posto ben preciso, la sostituzione, l’estrazione. Abbiamo anche funzioni come il calcolo della lunghezza ovvero il numero di elementi in lista e il test se un elemento fa parte della lista. Questi blocchi ci consentono di operare con molta libertà sulla lista e vedremo come.
Vediamo il nostro esercizio di oggi. Cercheremo di crearci una base numerica su cui fare delle operazioni matematiche statistiche. L’esercizio può essere usato nella scuola media di primo grado e di secondo grado. ovviamente possiamo usare delle varianti in modo da adeguarlo al livello di difficoltà desiderato. Ad esempio se lo applichiamo in un liceo scientifico possiamo utilizzare le liste anche per simulazione di esercizi sulle misure di grandezze fisiche, effettuare calcoli sugli errori, scarti quadratici e ben altro. Se lo usiamo in una scuola media inferiore possiamo provare ad introdurre la statistica con il calcolo della media delle altezze degli alunni di un scuola o altre cose molto più semplici.

Una volta dichiarata la nostra lista occorre riempirla con dei numeri. Possiamo procedere in diversi modi. Se i numeri sono pochi possiamo provare a chiedere ed inserirli, se essi sono di più occorre che vengano inseriti in modo più o meno automatico e questo lo vedremo in seguito. Per adesso proviamo invece un modo più semplice di procurarci dei numeri a caso che rientrino iun un certo intervallo di valori. Ad esempio l’altezza degli alcun i di una scuola da un min imo di 130 cm ad un massimo di 160 cm.

Questo frammento di codice ripulisce la lista qualora ci fossero dei numeri precedentemente inseriti e genera 100 numeri casuali riempiendo la lista. Come possiamo vedere il tutto avviene in modo molto semplice. La pulizia iniziale è importante poichè se si esegue il codice in continuazione la lista conterrà i numeri dell’esecuzione precedente e i nuovi verranno aggiunti oltre ingrandendola a dismisura. A noi serve una lista di 100 numeri che rappresentano le altezze degli alunni. Proviamo a riempire la lista, vediamo cosa otteniamo:

Adesso vogliamo calcolare una funzione molto semplice: la media dei valori inseriti casualmente:

Vediamo che i numeri presenti nella lista sono 100 tutti compresi tra 130 e 160. A questo punto possiamo scansionare i  numeri uno ad uno attraverso l’apposita istruzione
“Elemento x di numeri” dove x è l’indice che nell’immagine è segnato a lato del numero da 1 a 100.

Proviamo a calcolare la media dei valori. Per prima cosa sappiamo che dobbiamo calcolare la somma e poi dividerla per 100. Il calcolo della somma inizia con una variabile dichiarata che prende il nome di somma. Ad essa aggiungiamo ciclicamente un numero alla volta.

In questo frammento di codice, quindi, scansioniamo i numeri uno ad uno e li aggiungiamo a somma

L’istruzione cambia, infatti, consente di aggiungere un valore alla volta mentre la variabile posizione è un numero che si incrementa da 1 a 100 in modo da indicare di volta in volta sempre un nuovo elemento nella lista. Alla fine di questo frammento di codice abbiamo la somma dei valori. Adesso non resta che calcolare la media dividendo per 100 il risultato. Attenzione che la divisione del risultato ovviamente va fatta dopo il ciclo e non dentro come spesso qualcuno erroneamente fa.

Qui infatti vediamo il calcolo della somma dividendo il tutto per la lunghezza della lista. Ho evitato di scrivere il numero 100 in modo tale che l’app possiamo anche parametrizzarla indicando all’inizio la sua lunghezza ed usandola ovunque anche nei cicli al posto del numero 100 . Ecco adesso il risultato finale unendo tutti i frammenti di codice

 

 

 

 

 

 

Ho Solo aggiunto tre istruzioni come porta media a 0, ecc. che hanno lo scopo di ripulire le variabili da un eventuale utilizzo precedente. Proviamo l’esecuzione e questo è il risultato.

Se non vi piace il messaggio finale potete anche personalizzarlo con una concatenazione dis stringhe del tipo: “La media dei valori inseriti è “+ il valore della media.

Per completezza scriviamo qui come modificare.

Abbiamo terminato il nostro esercizio. Vi faccio notare che se volete potete aggiungere anche altre funzioni da calcolare sempre con lo stesso meccanismo utilizzando i cicli. Ad esempio potete  aggiungere qualcosa che calcoli la varianza o lo scarto quadratico medio. Oppure il valore più grande ed il più piccolo.

Ecco il codice sorgente dell’applicazione statistica.sb2

 

 

4303total visits,1visits today