Bonjour ! Dans la leçon précédente, qui concluait notre module sur les boucles, vous avez appris à utiliser les structures répétitives pour résoudre des problèmes de calcul de séries, comme la factorielle et la suite de Fibonacci. Vous avez ainsi consolidé votre maîtrise des boucles, un pilier de l'algorithmique.
Introduction
Jusqu'à présent, chaque variable que nous avons déclarée ne pouvait contenir qu'une seule valeur à la fois. Mais que faire si vous devez gérer les notes de 30 élèves, les prix de 100 articles ou les noms des jours de la semaine ? Déclarer 30, 100, ou 7 variables distinctes (note1, note2, etc.) serait extrêmement fastidieux et peu flexible.
C'est ici qu'intervient une nouvelle structure fondamentale : le tableau. Cette leçon marque le début de notre exploration des structures de données. L'objectif est de vous rendre capable de déclarer un tableau à une dimension et d'accéder à ses éléments via leur index. C'est la première étape pour manipuler des collections de données, ce qui décuplera la puissance et l'expressivité de vos algorithmes.
1. L'utilité des tableaux
Imaginez que vous deviez écrire un algorithme pour lire 12 notes, puis en calculer la moyenne. Avec les outils que vous connaissez, vous devriez déclarer 12 variables distinctes, faire 12 instructions de lecture, et écrire une formule de calcul très longue. Ce n'est pas viable pour des centaines, voire des milliers de valeurs.
Les tableaux apportent une solution élégante à ce problème. Un tableau est une structure qui permet de stocker un ensemble de valeurs de même type sous un seul nom.
Pour comprendre cette idée plus en détail, je vous invite à lire la première section du document suivant.
Cet article de Christophe Darmangeat explique très clairement pourquoi les tableaux sont indispensables en programmation. Il illustre le problème des variables multiples et introduit l'idée d'une "variable indicée".
Veuillez lire la section intitulée '1. Utilité des tableaux'.
Pour résumer, un tableau est comme une commode avec plusieurs tiroirs numérotés. La commode entière a un nom (le nom du tableau), et pour accéder au contenu d'un tiroir spécifique, il suffit de connaître son numéro. Ce numéro est appelé l'index.
2. Déclarer un tableau à une dimension
Maintenant que nous savons pourquoi utiliser un tableau, voyons comment le créer. En algorithmique, pour déclarer un tableau, vous devez spécifier trois choses :
- Un nom pour le tableau.
- Sa taille, c'est-à-dire le nombre d'éléments qu'il peut contenir.
- Le type des données qu'il contiendra (tous les éléments doivent avoir le même type).
La syntaxe que nous adopterons dans ce cours est la suivante :
Tableau nom_du_tableau[Taille] : Type
Exemple :
Pour déclarer un tableau pouvant contenir les notes de 30 élèves (des nombres réels) :Tableau Notes[30] : Reel
Pour déclarer un tableau contenant les 5 jours ouvrés de la semaine (des chaînes de caractères) :Tableau JoursOuvres[5] : Chaine
La ressource suivante détaille cette syntaxe et introduit une convention cruciale sur laquelle nous devons nous attarder.
[PDF] Initiation à l'Algorithmique Cours et exercices corrigés
Ce document PDF, 'Initiation à l'Algorithmique', présente de manière formelle la déclaration des tableaux. Il clarifie la syntaxe et les règles concernant les indices.
Dans le 'Chapitre 5 - Les tableaux', lisez les sections '2. Tableaux à une seule dimension' et '2.1. Déclaration'. Concentrez-vous sur la syntaxe de déclaration et les remarques concernant les indices.
La règle de l'index 0 : un point fondamental
Comme mentionné dans les lectures, la plupart des langages de programmation modernes (y compris Java, votre objectif final) commencent à numéroter les "cases" ou "tiroirs" d'un tableau à partir de zéro.
Cela signifie qu'un tableau de taille N a des indices qui vont de 0 à N-1.
- Notre tableau
Tableau Notes[30] : Reela 30 cases. - L'index de la première case est
0. - L'index de la dernière case est
29.
Tenter d'accéder à Notes[30] provoquerait une erreur ! C'est l'une des sources de bugs les plus courantes pour les débutants.
Visualisons cela :
| Index | 0 | 1 | 2 | ... | 28 | 29 |
|---|---|---|---|---|---|---|
| Valeur |
C'est essentiel de bien faire la distinction entre l'indice (la position, le numéro du tiroir) et la valeur (le contenu du tiroir). L'élément à l'indice 5 ne contient pas forcément la valeur 5.
3. Accéder aux éléments d'un tableau
Une fois le tableau déclaré, on peut lire ou modifier la valeur de chaque case individuellement en utilisant son index, placé entre crochets [].
nom_du_tableau[index]
Exemples :
-
Affecter une valeur au premier élément du tableau
Notes:Notes[0] ← 18.5 -
Lire la valeur du troisième élément et la stocker dans une variable :
meilleureNote ← Notes[2] -
Utiliser les valeurs dans une expression :
moyenneDeuxPremieres ← (Notes[0] + Notes[1]) / 2
La véritable puissance de cette notation se révèle quand on utilise une variable comme index, ce qui permet de combiner les tableaux avec les boucles que vous connaissez déjà.
i ← 4Notes[i] ← 11.0 // Affecte la valeur 11.0 à la 5ème case (index 4)
L'extrait suivant détaille ces opérations de manipulation.
[PDF] Initiation à l'Algorithmique Cours et exercices corrigés
Revenons au document 'Initiation à l'Algorithmique' pour voir comment manipuler concrètement les éléments d'un tableau.
Toujours dans le 'Chapitre 5', lisez la section '2.2. Manipulation' (incluant 2.2.1, 2.2.2, 2.2.3). Notez bien comment l'affectation, la lecture et l'écriture fonctionnent pour un élément du tableau.
4. Mise en pratique : un premier algorithme avec un tableau
Voyons comment ces concepts s'assemblent dans un algorithme complet. L'image ci-dessous montre un algorithme qui remplit un tableau en demandant des valeurs à l'utilisateur.

Analysons l'algorithme de gauche :
Algorithme RemplirTableau
Variables
T[500] : Entier // On déclare un tableau de 500 entiers
i : Entier // Notre variable compteur pour la boucle
Début
Pour i allant de 0 à 499 Faire
// À chaque tour de boucle, i prend une nouvelle valeur (0, 1, 2...)
Écrire "Donner la valeur pour T[", i, "] :"
Lire T[i] // On lit une valeur et on la stocke à la position i
FinPour
Fin
Cet algorithme illustre parfaitement la synergie entre les boucles et les tableaux :
- La boucle
Pourfait varier l'indexide 0 à 499. - L'instruction
Lire T[i]utilise cet index variable pour remplir chaque case du tableau, l'une après l'autre.
5. À vous de jouer !
Pour vérifier votre compréhension, essayez de répondre à cette petite question.
Problème :
- Écrivez la ligne de pseudo-code pour déclarer un tableau nommé
Scorespouvant contenir 4 nombres entiers. - Écrivez l'instruction pour affecter la valeur
100au troisième élément de ce tableau. - Écrivez l'instruction pour afficher la valeur du premier élément.
Cliquez ici pour voir la solution
-
Déclaration :
Tableau Scores[4] : Entier -
Affectation : Le troisième élément a l'index
2(car on commence à 0).Scores[2] ← 100 -
Affichage : Le premier élément a l'index
0.Écrire Scores[0]
Conclusion
Félicitations ! Vous venez de découvrir votre première structure de données, le tableau. C'est un outil essentiel qui ouvre la porte à la résolution de problèmes beaucoup plus complexes.
Points clés à retenir :
- Un tableau est une collection d'éléments de même type, accessibles via un nom unique.
- On le déclare avec son nom, sa taille et son type :
Tableau Nom[Taille] : Type. - On accède à un élément via son index :
Nom[index]. - La convention la plus courante est l'indexation à partir de zéro : pour un tableau de taille
N, les indices valides vont de0àN-1. - Confondre l'indice d'un élément et sa valeur est une erreur fréquente à éviter.
Et après ?
Maintenant que vous savez déclarer un tableau et accéder à un élément spécifique, que pouvons-nous faire de plus ? Dans la prochaine leçon, nous combinerons de manière plus approfondie les tableaux et les boucles pour parcourir un tableau. Vous apprendrez à écrire des algorithmes qui traitent tous les éléments d'un tableau pour effectuer des calculs, comme la somme ou la moyenne de ses valeurs.