Lors des exercices de suivi d’algorithme, la perte de points ne provient généralement pas d’un manque de compréhension de l’algorithme lui-même. Elle est souvent due à la rédaction d’un tableau incohérent : par exemple, une ligne peut inclure deux étapes sans que cela soit explicite, ou une variable peut être laissée vide simplement parce qu’elle n’a pas changé de valeur.
En prenant la petite liste A = [4, 1, 3], considérez chaque ligne comme représentant l’état complet du programme après exactement une étape. Une étape correspond soit à une itération de boucle, soit à une affectation, soit à un échange, selon l’action effectuée par la ligne de pseudocode.
Avant de consulter le tableau, répondez à la question suivante : si une boucle lit A[i] à chaque itération, quelle valeur doit apparaître dans la colonne current_value à la ligne où i = 1 pour A = [4, 1, 3] ?
Découvrez comment remplir un tableau d’état étape par étape pour A = [4, 1, 3].
Le tableau fonctionne parce que chaque ligne reprend toutes les variables suivies, même lorsqu’elles ne changent pas. Si i augmente mais que current_value reste inchangée, vous devez tout de même réinscrire current_value ; en effet, le barème exige la preuve que vous avez conservé cette valeur telle quelle, plutôt que de l’avoir oubliée.
Une fois que vous parvenez à assurer la cohérence des variables d’une ligne à l’autre, les tableaux constituent la source d’erreurs suivante. L’erreur principale consiste à traiter une opération de lecture et une opération d’écriture comme si elles étaient simultanées, ce qui conduit à afficher dans la ligne une valeur qui n’existe en réalité qu’à une étape ultérieure.
Un indice correspond à la position utilisée pour accéder à un élément d’un tableau (comme A[0] ou A[1]) ; vous devez impérativement respecter la convention définie pour l’examen. Si l’énoncé précise que l’indexation commence à 1, alors A[1] désigne le premier élément, et chaque accès consigné dans votre tableau de suivi doit se conformer à cette règle.
Avant d’aborder les instantanés de tableaux, répondez à ceci : si vous échangez les éléments aux indices 0 et 1 du tableau A = [4, 1, 3], que doit afficher la ligne suivante de l’instantané ?
Découvrez comment consigner les lectures et écritures dans les tableaux sous forme de changements d’état distincts, chacun occupant une ligne unique.