Bonjour,
J'ai un DM à rendre et j'ai eu deux exercices à faire, j'ai réussi à l'un d'eux mais je bloque pour celui-ci :
Avec Algobox,Alix a écrit l'algorithme suivant afin de calculer la moyenne d'une série de notes:
Variables
x EST_DU_TYPE_LISTE
i EST_DU_TYPE_LISTE
moyenne EST_DU_TYPE NOMBRE
effectif EST_DU_TYPE NOMBRE
Début algorithme
i PREND_LA_VALEUR 1
moyenne PREND_LA_VALEUR 0
AFFICHER "saisissez l'effectif total"
Lire effectif
POUR i ALLANT_DE 1 A effectif
DEBUT_POUR
AFFICHER "Saisissez la valeur numéro"
AFFICHER i
LIRE x[i]
moyenne PREND_LA_VALEUR ((i-1)*moyenne+x[i])/i
FIN_POUR
AFFICHER "La moyenne égale à:"
AFFICHER moyenne
FIN ALGORITHME
Bonjour, il y a 5 notes donc il faudra les rentrer une par une, ça fera 5 étapes.
Alors pourquoi l'algorithme utilise cette formule ((i-1)*moyenne+x[i])/i ?
Il aurait pu demander toutes les notes, les mettre dans x[i] et puis à la fin faire une boucle pour calculer la somme des x[i] et diviser par effectif pour calculer la moyenne. Mais ça fait faire une boucle en plus et le concepteur de ce programme a décidé de faire autrement et de calculer la moyenne progressivement.
Au début elle vaut 0. Puis on rentre la première note, i vaut 1 et on met la note dans x[1]
moyenne devient x[1]
On rentre la seconde note, i=2 et la note est rangée dans x[2]
moyenne devient (moyenne + x[2])/2 donc (x[1]+x[2])/2, on voit que moyenne prend bien la valeur de la moyenne des deux premières notes.
Cette formule permet donc de calculer progressivement la moyenne et qu'elle soit juste quelque soit le nombre de notes déjà rentré.
oui et à chaque étape on recalcule la moyenne totale (avec la nouvelle note saisie) en utilisant la moyenne précédente.
Dans la question 3, il faut "compléter le tableau indiquant la valeur de chacune des variables lors des différentes étapes" :
Etape | Initialisation | Etape 1 | Etape 2 | ... |
i | 1 | 1 | 2 | ... |
x[i] | non déclaré | 10 | 12 | ... |
moyenne | 0 | 10 | 11 | ... |
Etape | Initialisation | Etape 1 | Etape 2 | Etape 3 | Etape 4 | Etape 5 |
i | 1 | 1 | 2 | 3 | 4 | 5 |
x[i] | non déclarée | 10 | 12 | 17 | 14 | 8 |
moyenne | 0 | 10 | 11 | 14 | 14 | 11 |
Excusez-moi, je crois que je me suis trompée sur la ligne de la moyenne. Ce serai ça la réponse en fait :
Calcul de la moyenne (étape 3) :
[(3-1) x 11 + 17 ] / 3
= (2 x 11 + 17) / 3
= (22 + 17 ) / 3
= 39 / 3
= 13
Calcul de la moyenne (étape 4) :
[(4-1) x 13 + 14 / 4
= (3 x 13 + 14) / 4
= 39 + 14 / 4
= 53 / 4
= 13, 25
Calcul de la moyenne (étape 5) :
[(5-1) x 13,25 + 8 / 5
= (4 x 13,25 +8) / 5
= 53 / 5
= 10,6
C'est juste ou pas ? : )
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :