De Scratch Wiki en Français


Trouver la moyenne d'une liste de nombres


Tout le monde connait ce qu'est la moyenne de ses notes, non ?

Pour ceux qui ne savent pas : la moyenne d'une liste de valeurs est la somme de ces valeurs divisée par leur nombre.


Exemple de moyenne

Dans la liste a, on a ces nombres : 3 ; 8 ; 4 ; 9. La moyenne de cette liste est :

somme de ces valeurs / nombre de valeurs

Donc :

(3 + 8 + 4 + 9) / 4

24 / 4

6

La moyenne de cette liste est 6.

Script

Présentation de la situation

Vous devez avoir deux variables et une liste : la liste contiendra les différentes valeurs à inclure dans la moyenne, la variable somme pour indiquer le total et la variable compteur pour un usage interne.

(liste::list)
(somme)
(compteur)

Scripts

On peut définir le programme en deux étapes : l'addition des nombres et la division de la somme.

Addition des nombres

On a donc une liste du nom de liste qui contient tous les éléments auxquels on doit faire la moyenne, et les variables 'somme' et 'compteur'.

Il faut déjà correctement initialiser le programme.

mettre [somme v] à [0] // on commence avec une somme de 0
mettre [compteur v] à [1] // on commence avec le premier élément

Ensuite, il faut ajouter à la variable somme tous les éléments de liste. Pour ce faire, on utilise une boucle qui se répète autant de fois qu'il y a d'éléments dans la liste.

répéter (longueur de [liste v]) fois
fin

Il faut ensuite savoir où on en est dans la boucle, pour pouvoir prendre chaque élément individuellement. C'est la raison pour laquelle on a défini la variable 'compteur' :

répéter (longueur de [liste v]) fois
ajouter (1) à [compteur v]::variables // on passe à l'élément suivant
fin

On ajoute ensuite à somme l'élément 'compteur' de 'liste' :

répéter (longueur de [liste v]) fois
ajouter(élément (compteur) de [liste v]) à [somme v]::variables // on prend chaque élément 1 par 1
ajouter (1) à [compteur v]::variables
fin

division des nombre

Pour cela, c'est très simple, juste à diviser 'somme' par le nombre de chiffres :

mettre [somme v] à ((somme)/(longueur de [liste v]))

programme final

Il ne reste plus qu'à tout assembler :

mettre [somme v] à [0]
mettre [compteur v] à [1]
répéter (longueur de [liste v]) fois
ajouter(élément (compteur) de [liste v]) à [somme v]::variables
ajouter (1) à [compteur v]::variables
fin
mettre [somme v] à ((somme) / (longueur de [liste v]))
Cet article fait partie de la catégorie des tutos
Tous les articles de cette catégorie :