Tableaux et listes – indice, insertion, suppression et parcours

InformatiqueAlgorithmique et résolution de problèmes15–16 ans

Utiliser avec ma classe ✨ Personnaliser avec l'IA Signaler un problème

Une liste est affichée sous forme de cases numérotées avec un pointeur. Les élèves lisent, écrivent, ajoutent en fin, insèrent et suppriment des éléments, et voient les éléments se décaler, la longueur changer et les erreurs d'indice hors limites apparaître ; ils passent ensuite à un tableau de taille fixe pour le comparer à une liste dynamique. Un mode tableau 2D parcourt pas à pas ligne par ligne ou colonne par colonne avec grid[r][c], un mode dictionnaire cherche les valeurs par clé et un mode références montre deux noms désignant la même liste. Chaque opération est écrite en Python, en Java ou en pseudo-code.

Leçon : Tableaux et listes : indices, insertion, suppression et parcours

Ce qu’elle montre

Un tableau range ses éléments dans des cases numérotées : on lit ou modifie n'importe quel élément en une seule étape grâce à son indice. Insérer ou supprimer au milieu est plus lent, car tous les éléments suivants doivent se décaler ; le compteur de déplacements rend ce coût visible. Une liste dynamique grandit à la demande, tandis qu'un tableau de taille fixe garde sa longueur et demande de compter les cases utilisées. Le bac à sable traite aussi les tableaux 2D parcourus par des boucles imbriquées, les dictionnaires qui cherchent par clé et les références : après b = a, les deux noms désignent la même liste.

Mode d’emploi

Choisissez un Mode et une Notation. En mode Liste, tapez un Indice et une Valeur puis cliquez sur une opération comme nums.insert(2, 15) pour voir les éléments se décaler ; essayez un indice au-delà de la fin pour voir l'erreur. Passez la Structure à Tableau de taille fixe pour insérer et supprimer à la main. En mode Tableau 2D, choisissez l'Ordre de parcours et cliquez sur Pas. Essayez aussi les modes Dictionnaire et Références.

Paramètres modifiables

  • Mode Liste / tableau 1D, Tableau 2D, Dictionnaire (clé → valeur), Références et alias
  • Structure 1D Liste dynamique (list, ArrayList), Tableau de taille fixe (10)
  • Notation du code Python, Java, Pseudo-code
  • Nombre initial d'éléments 3–10
  • Lignes du tableau 2D 2–6
  • Colonnes du tableau 2D 2–8
  • Vitesse de l'animation 1–5 pas/s

Questions à explorer

  1. Combien d'éléments doivent se déplacer quand on insère une valeur au début d'une liste de 10 éléments ?
  2. Pourquoi nums[len(nums)] provoque-t-il une erreur en Python alors que nums[-1] n'en provoque pas ?
  3. Après b = a, pourquoi modifier b[0] modifie-t-il aussi a, et comment l'éviter ?