# Parcourir des tableaux ## Introduction Le parcours de tableaux est une opération fondamentale en programmation qui consiste à visiter chaque élément d'une structure de données de type tableau. Cette compétence est cruciale pour manipuler, analyser et extraire des informations stockées séquentiellement. En s'appuyant sur les concepts de logique combinatoire et d'algorigrammes, nous allons explorer les méthodes systématiques pour parcourir ces structures. La maîtrise de cette technique est un pré-requis essentiel pour aborder des langages comme Python, où la manipulation de collections est omniprésente. > [!video] Vidéo explicative > <iframe width="560" height="315" src="https://www.youtube.com/embed/TF3g5QIY_24?si=2YIgQNBcpRUoysxy" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> ## 1. Qu'est-ce qu'un tableau ? > [!definition] Définition : Tableau (Array) > Un tableau est une structure de données linéaire qui stocke une collection d'éléments du même type dans des emplacements mémoire contigus. Chaque élément est accessible via un _indice_ (ou _index_), généralement un entier, qui représente sa position relative dans le tableau. En programmation, le premier indice est souvent $0$ (indexation base zéro). > [!example] Exemple : Tableau unidimensionnel > Un tableau `T` de 5 entiers peut être représenté comme suit : > `T = [10, 25, 8, 12, 30]` > - `T[0]` vaut $10$ > - `T[1]` vaut $25$ > - ... > - `T[4]` vaut $30$ > La taille du tableau est $N=5$. Les indices valides vont de $0$ à $N-1$. ## 2. Pourquoi parcourir un tableau ? Parcourir un tableau permet d'effectuer diverses opérations sur ses éléments : - **Accès :** Lire la valeur de chaque élément. - **Modification :** Changer la valeur d'un ou plusieurs éléments. - **Recherche :** Trouver un élément spécifique ou vérifier sa présence. - **Agrégation :** Calculer une somme, une moyenne, un maximum, etc. - **Filtrage :** Sélectionner les éléments qui répondent à certains critères. ## 3. Méthodes de parcours itératif La méthode la plus courante pour parcourir un tableau est l'itération à l'aide d'une boucle. ### 3.1. Parcours par indice Cette approche utilise un compteur (indice) qui varie de l'indice de début à l'indice de fin du tableau. > [!note] Principe du parcours par indice > 1. **Initialisation :** Définir un indice de départ (généralement $0$). > 2. **Condition :** La boucle continue tant que l'indice est valide (inférieur à la taille du tableau). > 3. **Itération :** Incrémenter l'indice après chaque passage pour avancer à l'élément suivant. > [!example] Pseudo-code : Parcours et affichage de tous les éléments > ```pseudo-code > FONCTION AfficherElements(tableau T, taille N) > { > POUR indice DE 0 JUSQU'A N-1 FAIRE > { > AFFICHER T[indice] > } > } > ``` ### 3.2. Parcours par élément (itérateur) Certains langages proposent des constructions de boucles qui itèrent directement sur les éléments plutôt que sur les indices. C'est le cas des boucles "for-each" ou "for-in". Bien que plus concises, elles ne permettent pas toujours d'accéder directement à l'indice de l'élément courant. > [!example] Pseudo-code : Parcours et affichage par élément (conceptuel) > ```pseudo-code > FONCTION AfficherElementsParValeur(tableau T) > { > POUR CHAQUE element DANS T FAIRE > { > AFFICHER element > } > } > ``` ## 4. Opérations courantes avec parcours de tableaux ### 4.1. Calcul de la somme des éléments > [!example] Pseudo-code : Somme des éléments > ```pseudo-code > FONCTION CalculerSomme(tableau T, taille N) > { > somme = 0 > POUR indice DE 0 JUSQU'A N-1 FAIRE > { > somme = somme + T[indice] > } > RETOURNER somme > } > ``` ### 4.2. Recherche d'un élément > [!example] Pseudo-code : Recherche séquentielle > ```pseudo-code > FONCTION RechercherElement(tableau T, taille N, elementRecherche) > { > POUR indice DE 0 JUSQU'A N-1 FAIRE > { > SI T[indice] EST EGAL A elementRecherche ALORS > { > RETOURNER VRAI // L'élément a été trouvé > } > } > RETOURNER FAUX // L'élément n'a pas été trouvé > } > ``` > > [!note] Complexité > > La recherche séquentielle a une complexité temporelle linéaire, notée $O(N)$, car dans le pire des cas, nous devons examiner tous les $N$ éléments du tableau. ## 5. Points d'attention > [!warning] Erreurs d'indexation (Index Out of Bounds) > Accéder à un élément du tableau avec un indice qui est en dehors des bornes valides (lt;0$ ou $\ge N$) est une erreur courante et grave. Cela peut provoquer un crash du programme ou un comportement imprévisible. Toujours vérifier les limites du tableau lors du parcours. ## Résumé Le parcours de tableaux est une technique algorithmique fondamentale qui implique l'itération systématique sur les éléments d'un tableau. La méthode la plus courante est le parcours par indice, utilisant une boucle `POUR` (ou `for`) pour accéder à chaque élément. Il est impératif de gérer correctement les bornes du tableau pour éviter les erreurs d'indexation. Cette compétence est la base de nombreuses opérations sur les données et sera largement utilisée dans la suite de votre apprentissage en programmation, notamment avec des langages comme Python. ## 🗓️ Historique > **Dernière mise à jour :** `26 octobre 2025` > **Rédigé par :** [[Julien DUQUENNOY]]