L’accumulation
99
Remarque
N’oubliez pas l’initialisation somme := 0, sinon la valeur de somme sera imprévisible.
2.1.2 Un second exemple
Voici un programme qui calcule la moyenne d’un nombre quelconque de valeurs réelles,
fournies en données. On fait l’hypothèse qu’aucune de ces valeurs ne peut être nulle et que
l’utilisateur introduira la valeur 0 pour signaler qu’il n’a plus de valeurs à fournir.
Ici, il faut accumuler les différentes valeurs, à l’intérieur d’une boucle conditionnelle. En
plus, il est nécessaire de connaître le nombre de valeurs lues, d’où l’emploi d’un compteur de
boucle.
Par ailleurs, il faut remarquer :
• que la valeur 0 servant de signal de fin ne doit pas intervenir dans le nombre de valeurs,
• qu’il est souhaitable d’éviter un risque de division par zéro, autrement dit de traiter distinctement le cas où l’utilisateur n’a fourni aucune valeur (autre que le 0 de fin).
Voici le programme correspondant, accompagné de deux exemples d’exécution :
réel val
// pour les différentes valeurs fournies par l’utilisateur
entier nval
// pour compter le nombre de valeurs fournies
réel somme
// pour accumuler la somme des valeurs
somme := 0.
// initialisation de l’accumulateur des valeurs
nval := 0
// initialisation du nombre de valeurs fournies
répéter
{ écrire «donnez une valeur (0 pour terminer) : »
lire val
somme := somme + val
nval := nval + 1
}
jusqu’à val = 0.
// on s’arrête quand l’utilisateur fournit 0
si nval <= 1 alors écrire «aucune valeur fournie - pas de moyenne possible »
sinon écrire «moyenne des », nval-1, « valeurs», somme / (nval-1) )
donnez une valeur (0 pour terminer) : 4.6
donnez une valeur (0 pour terminer) : 5
donnez une valeur (0 pour terminer) : 10
donnez une valeur (0 pour terminer) : 4.4
donnez une valeur (0 pour terminer) : 0
moyenne des 4 valeurs : 6.250000e+00
donnez une valeur (0 pour terminer) : 0
aucune valeur fournie - pas de moyenne possible
Calcul de la moyenne d’un nombre quelconque de valeurs
Précédent

- 122/370

Suivant