Source: Scratch Wiki en français
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)