Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 22

Somme et moyenne d'un tableau

Recommended resources

Bonjour !

Dans la leçon précédente, vous avez appris à parcourir un tableau à l'aide d'une boucle. C'est une compétence fondamentale qui vous permet de lire, modifier et traiter chaque élément d'un ensemble de données.

Introduction

Aujourd'hui, nous allons mettre cette compétence en pratique pour réaliser deux des opérations les plus courantes en traitement de données. Notre objectif est de : calculer la somme et la moyenne des éléments d'un tableau.

Ces opérations peuvent sembler simples, mais le schéma algorithmique que nous allons utiliser est un pilier de la programmation. Le maîtriser vous servira dans d'innombrables situations. C'est une étape clé pour transformer des données brutes en informations utiles et un excellent exercice pour votre logique.

Somme, Produit & Moyenne des éléments d'un Tableau - Exercice corrigé #34
Cette image illustre bien notre objectif : à partir d'un ensemble d'éléments dans un tableau, nous allons produire des valeurs synthétiques comme la somme et la moyenne.

1. Calculer la somme : le principe de l'accumulateur

Dans la leçon précédente, vous avez utilisé une variable "compteur" pour compter le nombre d'éléments satisfaisant une condition, en l'incrémentant de 1 à chaque fois (compteur ← compteur + 1).

Pour calculer une somme, nous allons utiliser une logique très similaire, mais au lieu d'ajouter 1, nous allons ajouter la valeur de l'élément du tableau. Ce type de variable est souvent appelé un accumulateur.

L'algorithme pour calculer la somme des éléments d'un tableau T de taille N est le suivant :

  1. Initialisation : Déclarer une variable, par exemple Somme, et l'initialiser à 0. C'est une étape cruciale. Si on ne le fait pas, le calcul de départ sera faussé.
  2. Parcours et Accumulation : Parcourir le tableau du premier au dernier élément avec une boucle.
  3. Dans la boucle : À chaque itération, ajouter la valeur de l'élément courant T[i] à la variable Somme. L'instruction clé est : Somme ← Somme + T[i].
  4. Résultat : Une fois la boucle terminée, la variable Somme contient la somme totale de tous les éléments.

Voici à quoi cela ressemble en pseudo-code :

Algorithme CalculerSomme
Variables
  Tableau MonTableau[5] : Entier // Exemple avec un tableau de 5 entiers
  Somme : Entier
  i : Entier

Début
  // On suppose que le tableau est déjà rempli.
  // Ex: MonTableau contient [10, 20, 5, 15, 30]

  Somme ← 0 // Étape 1 : Initialisation

  // Étape 2 & 3 : Parcours et Accumulation
  Pour i allant de 0 à 4 Faire
    Somme ← Somme + MonTableau[i]
  FinPour

  // Étape 4 : Le résultat est prêt
  Ecrire("La somme des éléments est : ", Somme) // Affichera 80
Fin

2. De la somme à la moyenne

Une fois que vous savez calculer la somme, obtenir la moyenne est très simple. La moyenne arithmétique est définie comme la somme des valeurs divisée par le nombre de valeurs.

L'algorithme devient donc :

  1. Calculer la somme des éléments du tableau (en utilisant le principe de l'accumulateur vu ci-dessus).
  2. Déterminer le nombre d'éléments dans le tableau (sa taille).
  3. Diviser la somme par le nombre d'éléments pour obtenir la moyenne.

Attention : Le résultat d'une division peut être un nombre à virgule. Il faut donc déclarer la variable Moyenne avec un type de données approprié (par exemple, Reel).

L'algorithme complet :

Algorithme CalculerMoyenne
Variables
  Tableau MonTableau[5] : Entier
  Somme : Entier
  Moyenne : Reel // Type Reel pour la moyenne !
  i : Entier
  Taille : Entier

Début
  // On suppose le tableau rempli : [10, 20, 5, 15, 30]
  Taille ← 5 // Le nombre d'éléments

  Somme ← 0

  Pour i allant de 0 à Taille - 1 Faire
    Somme ← Somme + MonTableau[i]
  FinPour

  // On s'assure de ne pas diviser par zéro si le tableau pouvait être vide.
  Si Taille > 0 Alors
    Moyenne ← Somme / Taille
    Ecrire("La somme est : ", Somme)
    Ecrire("La moyenne est : ", Moyenne) // Affichera 16
  Sinon
    Ecrire("Le tableau est vide, impossible de calculer la moyenne.")
  FinSi
Fin

3. Analyse d'exemples concrets

Pour bien ancrer ces concepts, je vous propose d'analyser deux ressources qui présentent des implémentations de cet algorithme.

La première ressource montre le processus complet : saisie des notes, puis calcul de la somme et de la moyenne.

6. Les Tableaux - Cours d'Algorithmique

Cet extrait du cours de Christophe Darmangeat met en application directe ce que nous venons de voir. Il utilise un tableau pour stocker des notes, une première boucle pour les saisir, puis une seconde boucle pour calculer la somme avant de déterminer la moyenne.

Concentrez-vous sur la section '2. Notation et utilisation algorithmique'. Analysez l'exemple d'algorithme qui calcule la moyenne des notes. Repérez bien l'initialisation de la variable Som, son utilisation comme accumulateur dans la boucle (Som ← Som + Note[i]), et le calcul final de la moyenne (Moy ← Som / 12).

La seconde ressource présente l'algorithme sous une forme plus concise, prête à être transformée en fonction (un concept que nous verrons plus tard).

Introduction à l'algorithmique - NSI Voltaire

Ce document propose une version très claire et directe de l'algorithme de calcul de la moyenne. C'est un excellent exemple de la manière de formaliser une solution.

Lisez la section '5.3 - Algorithme de calcul de la moyenne des valeurs d'un tableau'. Vous remarquerez que le pseudo-code utilise une boucle allant de 1 à longueur(tab). C'est une convention d'indexation (commençant à 1) différente de celle que nous utilisons (commençant à 0). Les deux sont valides, mais il est crucial d'être cohérent. Nous continuerons à utiliser l'indexation à partir de 0, car elle est prédominante dans des langages comme Java.


4. À vous de jouer !

Il est temps de mettre la main à la pâte. Votre préférence pour la pratique va être servie !

Problème :
Un commerçant a enregistré ses ventes quotidiennes (en euros) pour une semaine dans un tableau. Écrivez un algorithme nommé AnalyseVentes qui réalise les tâches suivantes :

  1. Déclare un tableau VentesSemaine de 7 nombres réels. Pour cet exercice, vous pouvez imaginer qu'il est déjà rempli avec les valeurs suivantes : [150.5, 210.0, 185.5, 300.0, 175.0, 450.5, 90.0].
  2. Calcule la somme totale des ventes de la semaine et l'affiche.
  3. Calcule la vente moyenne par jour et l'affiche.

Prenez une feuille et un stylo, et essayez de rédiger l'algorithme complet en suivant la structure que nous avons étudiée.

Cliquez ici pour voir une solution possible
Algorithme AnalyseVentes
Variables
  Tableau VentesSemaine[7] : Reel // Supposons rempli avec [150.5, 210.0, 185.5, 300.0, 175.0, 450.5, 90.0]
  SommeVentes : Reel
  MoyenneVentes : Reel
  i : Entier

Début
  // Initialisation de l'accumulateur
  SommeVentes ← 0.0

  // Parcours du tableau pour calculer la somme
  Pour i allant de 0 à 6 Faire
    SommeVentes ← SommeVentes + VentesSemaine[i]
  FinPour

  // Calcul de la moyenne
  // La taille est 7, qui est non nulle.
  MoyenneVentes ← SommeVentes / 7

  // Affichage des résultats
  Ecrire("Total des ventes de la semaine : ", SommeVentes, " euros")
  Ecrire("Vente moyenne journalière : ", MoyenneVentes, " euros")
Fin

Résultats attendus :
Total des ventes : 1561.5 euros
Vente moyenne : 223.07 euros (environ)


Conclusion

Excellent travail ! Vous venez d'ajouter un outil essentiel à votre répertoire d'algorithmicien. Le parcours d'un tableau pour en calculer la somme est un motif si courant qu'il deviendra une seconde nature pour vous.

Les points clés de cette leçon sont :

  • Le principe de l'accumulateur : une variable initialisée à 0 à laquelle on ajoute successivement les valeurs d'une collection.
  • L'algorithme de la somme : Somme ← Somme + Tableau[i] à l'intérieur d'une boucle.
  • L'algorithme de la moyenne se déduit directement de la somme : Moyenne ← Somme / Taille.
  • La nécessité d'utiliser un type de données Reel pour la moyenne afin de ne pas perdre d'information.

Et après ?

Maintenant que vous savez "résumer" un tableau avec une somme et une moyenne, la prochaine étape logique est d'apprendre à y trouver des valeurs spécifiques. Dans la prochaine leçon, nous utiliserons la même technique de parcours de tableau pour trouver la valeur minimale et la valeur maximale qu'il contient. La logique à l'intérieur de la boucle sera légèrement différente, mais le principe de base reste le même.