Max74 Posté(e) le 3 mars 2018 Signaler Posté(e) le 3 mars 2018 Bonjour j'ai un exercice de maths à faire mais je n'y arrive pas Voici l'énoncé : On considère une liste Li de n nombres dont on veut calculer la médiane. On utilise un algorithme dont le principe est le suivant pour n impair : On répète n − 1 fois les instructions suivantes : 2 - on note le rang du plus petit nombre de la liste ; - on remplace le plus petit nombre de la liste dont on a noté le rang précédemment par le dernier nombre de la liste ; - on supprime de dernier nombre de la liste ; fin de la répétition ; On détermine le plus petit nombre de la liste. On affiche le plus petit nombre de la liste. a) Faire fonctionner le programme ci-dessus avec les deux listes suivantes et vérifier que l’on obtient bien la médiane : liste 1 : 3 ; 5 ; 1 ; 7 ; 2 ; 10 ; 11. liste 2 : 2 ; 5 ; 2 ; 10 ; 3 ; 5 ; 1. b) Expliquer pourquoi cet algorithme calcule la médiane. c) Modifier l’algorithme ci-dessus de façon à calculer la médiane lorsque n est pair. J'ai réussi à faire le a) mais le b et le c je ne comprends pas, pourriez vous m'aider s'il vous plait ? Merci d'avance pour votre aide.
E-Bahut julesx Posté(e) le 3 mars 2018 E-Bahut Signaler Posté(e) le 3 mars 2018 Tu aurais dû relire ton message, le 2 de (n-1)/2 n'apparaît absolument pas là où tu le souhaites. J'ai mis un peu de temps pour comprendre l'algorithme. b) L'explication est la suivante : A chaque tour de l'algorithme, on élimine le plus petit nombre de la liste. Au bout de (n-1)/2 opérations, on a supprimé les (n-1)/2 premiers termes, le plus petit nombre qui reste est donc celui de rang (n-1)/2+1, soit (n+1)/2. Par définition de la médiane d'une liste triée d'un nombre impair de termes, c'est bien le terme de rang (n+1)/2 qui constitue cette médiane (revoir éventuellement le cours). b) Dans le même ordre d'idées, pour n pair, il faut effectuer n/2-1 fois la suite d'instructions puis calculer la moyenne des deux nombres les plus petits de la liste restante (cf. calcul de la médiane d'une liste triée d'un nombre pair de termes).
Max74 Posté(e) le 3 mars 2018 Auteur Signaler Posté(e) le 3 mars 2018 Ah oui effectivement je n'avais pas vu qu'il ne s'était pas mis correctement, désolé... Merci beaucoup pour votre aide, je pense désormais avoir compris, Du coup pour la question c) cela donne: On utilise un algorithme dont le principe est le suivant pour n pair: On répète (n-1)/2 fois les instructions suivantes:( ici je ne comprend pas pourquoi il faudrait faire n/2 fois les instructions et pas (n-1)/2 fois les instructions ?) On note le rang du plus petit nombre de la liste On remplace le plus petit nombre de la liste dont on a noté le rang précédemment par le dernier nombre de la liste. On supprime le dernier nombre de la liste. Fin de la répétition On détermine les deux plus petits nombres de la liste. On calcule la moyenne de ces deux plus petit nombres On affiche la moyenne de ces deux plus petits nombres. Est-ce ça ?
E-Bahut julesx Posté(e) le 3 mars 2018 E-Bahut Signaler Posté(e) le 3 mars 2018 Attention, pour le c) : n est pair, et, comme je l'ai rectifié ensuite, il faut répéter n/2-1 fois les instructions (exemple, pour n=8, on répète 8/2-1=4-1=3 fois les instructions). Le reste est correct. Un exemple pour illustrer ceci : Pour la liste 3 5 1 7 2 10 11 12 Il y a 8 termes, donc on répète 3 fois les instructions 1) On remplace 1 par 12 et on supprime le 12 à la fin 3 5 12 7 2 10 11 2) On remplace 2 par 11 et on supprime le 11 à la fin 3 5 12 7 11 10 3) On remplace 3 par 10 et on supprime le 10 à la fin 10 5 12 7 11 Les deux plus petits sont donc 5 et 7 dont la moyenne est 6. Pour vérification, la liste triée est 1 2 3 5 7 10 11 12 dont les termes à prendre en considération sont bien 5 et 7.
Max74 Posté(e) le 3 mars 2018 Auteur Signaler Posté(e) le 3 mars 2018 Merci beaucoup j'ai maintenant tout compris Encore merci pour votre aide
E-Bahut julesx Posté(e) le 3 mars 2018 E-Bahut Signaler Posté(e) le 3 mars 2018 De rien, bonne continuation.
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.