Source: Scratch Wiki en français



Trouver la médiane d'une liste de nombres


La médiane est, dans une liste triée par ordre croissant ou décroissant, la valeur permettant de couper l'ensemble des valeurs en deux parties égales. Si la longueur de la liste est impaire, l'élément du milieu de la liste sera pris, sinon, si la longueur de la liste est paire, alors la moyenne des deux nombres les plus proches du milieu sera prise.

En pratique

On considère que vous avez une liste triée par ordre croissant ou décroissant. Si ce n'est pas le cas, allez sur le tutoriel "Trier une liste de nombres".
On utiliseras donc une (liste::list) dans ce tutoriel.

Pair ou Impair

Il y a deux types de cas : soit le nombre d’éléments dans la liste est pair (divisible par 2), soit il est impair non divisible par 2).
En mathématiques, cela se traduit par l'opération modulo: si x modulo 2 est égal à 0, alors x est pair.
Cela donne donc :

si <((longueur de [liste v]) modulo (2)) = (0)> alors
... //le nombre est pair
sinon
... //le nombre est impair
fin

Liste de longueur impaire

Trouvons le nombre au milieu de la liste :

([plafond v] de ((longueur de [liste v]) / (2))) // index de l'élément médian
(élément ([plafond v] de ((longueur de [liste v]) / (2))) de [liste v]) // valeur de l'élément médian
mettre [médiane v] à (élément ([plafond v] de ((longueur de [liste v]) / (2))) de [liste v]) // la médiane est la valeur de cet élément

Liste de longueur paire

Les deux éléments nécessaires pour faire la moyenne sont :

((longueur de [liste v]) / (2)) // index du premier élément
(((longueur de [liste v]) / (2)) + (1)) // index du second élément
(élément ((longueur de [liste v]) / (2)) de [liste v]) // valeur du premier élément
(élément (((longueur de [liste v]) / (2)) + (1)) de [liste v]) // valeur du second élément

Ils faut ensuite faire la moyenne de ces nombres pour avoir trouver la médiane:

((élément ((longueur de [liste v]) / (2)) de [liste v]) + (élément (((longueur de [liste v]) / (2)) + (1)) de [liste v])) / (2) // la moyenne des deux nombres
mettre [médiane v] à (((élément ((longueur de [liste v]) / (2)) de [liste v]) + (élément (((longueur de [liste v]) / (2)) + (1)) de [liste v])) / (2)) // la médiane est la valeur de la moyenne

Script final

si <((longueur de [liste v]) modulo (2)) = (0)> alors
mettre [médiane v] à (élément ([plafond v] de ((longueur de [liste v]) / (2))) de [liste v])
sinon
mettre [médiane v] à (((élément ((longueur de [liste v]) / (2)) de [liste v]) + (élément (((longueur de [liste v]) / (2)) + (1)) de [liste v])) / (2))
fin

Voir aussi

Trouver la moyenne d'une liste de nombres (tutoriel)

Cet article fait partie de la catégorie des tutos
Tous les articles de cette catégorie :