algorithme sur calcul de moyenne et de variance


  • S

    Bonjouur tout le monde, j’ai un devoir maison pour demain que je n’arrive pas à faire sur les algorithmes (je suis vraiment nulle) quelqu’un pourrait m’aider svp ?

    Voila le sujet : il y a 3 exercices le premier m’a l’air pas très compliqué mais je n’y arrive vraiment pas.
    Exercice 1 : 1) faire fonctionner l’algo avec n=5 et la liste 8,12,5,9,13
    2) appliquer l’algo a une autre serie
    3) quel est le role de cet algo
    Algoritmes :
    Variables : n et i sont des nombres entiers naturels (x1;x2;....;xn) est une liste de nombres reels
    S et m sont des nombres reels
    Entrees : saisir n, x1,...,x2
    Traitement: affecter a S la valeur 0
    Pour i allant de 1 à n
    I affectant S la valeur de S+x1
    Fin pour
    Sortie: afficher m

    Exercice 2:
    Ecrire un algorithme qui calcule et affiche la variance d’une serie de statistiques
    Le tester avec la serie de l’exo 1


  • S

    @shana67
    Pour l’exo 1 j’ai essayé qlq chose et j’ai obtenus des resultats or je ne suis pas sur de mes reponses.


  • mtschoon

    shana67 , bonjour,

    Tu as écrit ,
    "I affectant S la valeur de S+x1"
    Es-tu vraiment sûr de cette ligne ? ou il y a -t-il des fautes de frappe ?
    Elle n'est pas claire...
    Ce serait plutôt "Affecter à S la valeur S+xi"

    Je me demande aussi si tu n'as pas oublié de taper une ligne après "Fin pour" , qui expliquait la notation m

    Merci de vérifier ton énoncé.

    Propose tes réponses trouvées à l'exercice 1


  • S

    @mtschoon
    Oui en effet je ne me suis pas relu c’est le correcteur automatique dsl
    La phrase est bien « I affecter a la valeur S S+xi »
    Et apres « fin pour » j’ai oublié « affecter a m la valeur S/n »


  • S

    @shana67
    Pour l’exo 1 1) je ne sais pas comment presenter mais au brouillon j’ai ecrit cela :
    S+x1 avec x1=8
    S prend la valeur 0
    S=S+8
    Fin pour
    m=S/n
    m=8/5
    m=1,6
    J’ai fais cela pour toutes les valeurs de la liste
    2) j’ai choisi d’autre valeur comme 11,6,4,15,2
    Et j’ai reproduis les meme calculs que précédemment
    3)J’en ai deduit que l’algorithme pouvait servir a calculer la moyenne et j’ai calculer la moyenne a la main sans algorithmes pour la premiere serie et la 2e et j’obtient les meme resultats


  • mtschoon

    OK pour les modifications apportées à l'énoncé.

    L'algorithme calcule effectivement la moyenne des valeurs x1,x2,...,xnx_1,x_2,...,x_nx1,x2,...,xn

    Tu n'as pas bien compris la boucle
    Pour i allant de 1 à n
    Affecter à S la valeur S + xix_ixi
    Fin pour

    J'explicite avec les valeurs du 1)

    Au départ : S=0
    Pour i=1 S=0+x1x_1x1=0+8=8
    Pour i=2, S=8+x2x_2x2=8+12=20
    Pour i=3, S=20+x3x_3x3=20+5=25
    Pour i=4, S=25+x4x_4x4=25+9=34
    Pour i=5, S=34+x5x_5x5=34+13=47

    A la sortie de la boucle S=47 (somme des 5 termes de la liste)
    m=Sn=475m=\frac{S}{n}=\frac{47}{5}m=nS=547=9.4


  • S

    @mtschoon
    Oui c’est vrai je n’avais absolument pas compris cette etape la merci bcp je comprends largement mieux maintenant.
    Du coup Il en est pareil pour le petit 2 avec d’autres nombres ?


  • mtschoon

    Tout à fait.
    La démarche est générale.


  • S

    @mtschoon
    Super merci de m’avoir éclairé sur ce point la.
    Pour l’exercice 2 il faut que j’écrive un algorithme qui calcule et affiche la variance d’une serie de statistiques en testant avec les valeur de la serie de l’exo 1
    Du coup j’ai essayer d’ecrire un algorithme au brouillon mais il me parait long et avec des etapes en moins ou en trop je ne sais pas
    Pourriez vous m’aider a nouveau svp ?


  • mtschoon

    Idée :
    Tu dois compléter l'algorithme précédent qui calcule la moyenne m par le calcul de la variance V
    V=(x1−m)2+(x2−m)2+...+(xn−m)2n\boxed{V=\frac{(x_1-m)^2+(x_2-m)^2+...+(x_n-m)^2}{n}}V=n(x1m)2+(x2m)2+...+(xnm)2

    Tu dois donc ajouter aux variables précédentes la variable C (qui calculera ((x1−m)2+..+(xn−m)2(x_1-m)^2+..+(x_n-m)^2(x1m)2+..+(xnm)2) ) et la variable V (qui calculera Cn\frac{C}{n}nC)

    Dans le traitement, après le calcul de m, tu dois faire calculer V
    (avec le même principe que celui de m) :

    Avec une boucle "Pour i allant de 1 à n .......Fin pour" tu feras calculer C, suivie de "affecter à V la valeur Cn\frac{C}{n}nC "(qui calculera V)


  • S

    @mtschoon
    Donc si j’ai bien compris mon algorithme devrait plus ou moins ressembler à cela
    Variables : n et i sont des nombres entiers naturels
    (X1; x2;...) est une liste de nombres reels
    C, m, S et V sont des nombres reels
    Entrées: saisir x1;x2...
    Traitement: (j’ai gardé les variables qui permettent de trouver m) affecter a S la valeur 0
    Pour i allant de 1 a n
    Affecter a S la valeur S+x1
    Affecter a m la valeur S/n
    Affecter a C la baleur (x1-m)^2
    Fin pour
    Sortie : affecter a V la valeur C/n
    Afficher V


  • mtschoon

    Il y a des modifications à apporter.

    Dans la boucle que tu indiques , il ne s'agit pas de S+x1 ni de (x1-m)^2, il s'agit de S+xiS+x_iS+xi et de (xi−m)2(x_i-m)^2(xim)2
    ( i varie de 1 à n)

    Au départ , C=0 (à indiquer)

    Le calcul de m se fait en sortant de la boucle (regarde l'algorithme donné dans l'énoncé), et c'est ensuite , lorsque m est calculé que tu fais une seconde boucle qui permet de calculer C (vu que la valeur de m intervient dans le calcul de C) puis calcul de V après la boucle qui calcule C.


  • S

    @mtschoon
    D’accord merciii bcp


  • mtschoon

    De rien !
    A+