%% nav-debut : généré par gen_navigation.py, ne pas modifier à la main %% > [!nav] > ↩ [[Code et Développement/Programmation/Lecture de Code - Python/Lecture de code - Python|Accueil · Lecture de code - Python]] > > | [[Code et Développement/Programmation/Lecture de Code - Python/00_lire_et_executer_un_programme\|← Introduction]] | [[Code et Développement/Programmation/Lecture de Code - Python/02_variables_entrees_sorties\|Variables, entrées, sorties →]] | > |:---|---:| %% nav-fin %% # Méthode de trace ## Principe Tracer un programme, c'est simuler manuellement son exécution : lire le code ligne par ligne, maintenir l'état des variables, et noter ce qui s'affiche. ## Les 3 étapes **1. Identifier les entrées** Repérer les `input()`. Lire la valeur fournie et l'affecter mentalement à la variable. ```python n = int(input()) # données : 3 → n = 3 ``` **2. Dérouler instruction par instruction** Chaque ligne modifie l'état ou produit une sortie. Tenir un tableau de variables. ``` Ligne | n | i | Affichage 1 | 3 | — | 3 | 3 | 0 | 4 | 3 | 0 | 0 3 | 3 | 1 | 4 | 3 | 1 | 1 ... ``` **3. Lire les `print()`** Chaque `print(x)` produit une ligne de sortie. L'ordre des lignes est l'ordre d'exécution. --- ## Pièges fréquents - **Sauter une ligne** : chaque ligne doit être exécutée dans l'ordre, même si elle semble "évidente". Ne pas sauter les affectations. - **Oublier qu'une variable change** : après `x = x + 1`, la valeur de `x` est la nouvelle, pas l'ancienne. - **Confondre la variable et sa valeur** : dans le tableau de trace, écrire la valeur concrète (`x = 3`), pas le nom (`x = x`). - **Ne pas entrer dans un bloc** : si la condition est fausse, le bloc indenté est ignoré — à noter explicitement dans la trace. --- ## Exemple complet ```python n = int(input()) # entrée : 4 total = 0 for i in range(1, n+1): total = total + i print(total) ``` | Tour | i | total | |---|---|---| | — | — | 0 | | 1 | 1 | 1 | | 2 | 2 | 3 | | 3 | 3 | 6 | | 4 | 4 | 10 | **Sortie : `10`** **À manipuler :** suivez la même trace ligne par ligne. ```sq-trace n = int(input()) # entrée : 4 total = 0 for i in range(1, n+1): total = total + i print(total) --- 1 | n = 4 | 2 | total = 0 | 3 | i = 1 | 4 | total = 1 | 3 | i = 2 | 4 | total = 3 | 3 | i = 3 | 4 | total = 6 | 3 | i = 4 | 4 | total = 10 | 5 | | 10 ``` %% nav-debut : généré par gen_navigation.py, ne pas modifier à la main %% > [!nav] > ↩ [[Code et Développement/Programmation/Lecture de Code - Python/Lecture de code - Python|Accueil · Lecture de code - Python]] > > | [[Code et Développement/Programmation/Lecture de Code - Python/00_lire_et_executer_un_programme\|← Introduction]] | [[Code et Développement/Programmation/Lecture de Code - Python/02_variables_entrees_sorties\|Variables, entrées, sorties →]] | > |:---|---:| %% nav-fin %%