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 une liste de valeurs, celle dont vous voulez connaître la moyenne. Deux variables seront nécessaires. En tout, vous devriez avoir :

(somme)
(résultat)
(liste :: list)

Maintenant que vous avez ces deux variables et cette liste, nous allons passer aux scripts...

Scripts

On est bien d'accord, votre liste liste contient les nombres dont la moyenne sera calculée ? Ok, alors ajoutez ce script :

répéter (longueur de [liste v]) fois
ajouter à [somme v] (élément (1 v) de [liste v]
end

Déjà, nous calculons la somm... euh, attendez ! Là, le script n'utilise que le premier élément de la liste ! On va devoir réfléchir... comment faire ? Voilà la solution :

Etape Explications
1 • 2 • 3 • 4 Voici la liste telle qu'elle est au début ; 1 est en premier.
2 • 3 • 4 • 1 Le premier élément est passé dernier ; 2 est en premier.
3 • 4 • 1 • 2 Le premier élément est passé dernier ; 3 est en premier.
4 • 1 • 2 • 3 Le premier élément est passé dernier ; 4 est en premier.
1 • 2 • 3 • 4 Voici la liste telle qu'elle est au début ; 1 est en premier.

Comment faire cela ? C'est simple : changeons le script comme ceci :

répéter (longueur de [liste v]) fois
ajouter à [somme v] (élément (1 v) de [liste v]
insérer (élément (1 v) de [liste v]) en position (dernier v) de la liste [liste v] // l'élément 1 est copié en dernière ligne
supprimer l'élément (1 v) de la liste [nombre v] // la ligne 1 est supprimée
end

Voilà ! Maintenant, on regarde ce qui a été dit plus haut :

La moyenne d'une liste de valeurs est la somme de ces valeurs divisée par leur nombre.

On va donc ajouter ce script :

répéter (longueur de [liste v]) fois
ajouter à [somme v] (élément (1 v) de [liste v]
insérer (élément (1 v) de [liste v]) en position (dernier v) de la liste [liste v]
supprimer l'élément (1 v) de la liste [nombre v]
end
mettre [résultat v] à ((somme) / (longueur de [liste v]))

Tout marche très bien, sauf si on relance le script. Dans ce cas, il faut mettre :

mettre [somme v] à [0] // on met la variable "somme" à 
répéter (longueur de [liste v]) fois
ajouter à [somme v] (élément (1 v) de [liste v]
insérer (élément (1 v) de [liste v]) en position (dernier v) de la liste [liste v]
supprimer l'élément (1 v) de la liste [nombre v]
end
mettre [résultat v] à ((somme) / (longueur de [liste v]))

Voilà ! Vous avez la moyenne de votre liste !

Les cookies nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation des cookies.