🐍 Un programme Python exécuté pas à pas
Un ordinateur n'est pas malin : il lit ton programme ligne par ligne, sans jamais sauter d'étape, et range ses nombres dans des boîtes étiquetées. Ici, tu le vois faire ! Avance pas à pas, regarde les valeurs tomber dans les boîtes, la boucle compter ses tours et le if choisir son chemin… puis écris ton propre programme et observe s'il fait vraiment ce que tu crois.
🧪 Mode d'emploi : règle les curseurs (à droite, ou sous l'animation sur téléphone), lance avec ▶, observe les mesures et relève les 🎯 défis. Le bouton ⛶ agrandit l'animation, idéal sur téléphone à l'horizontale.
Ce que tu vois
- Chaque variable est une boîte avec une étiquette (son nom). Une affectation comme s = s + i calcule d'abord la droite avec les valeurs actuelles, puis l'ancienne valeur s'envole et la nouvelle tombe dans la boîte.
- La ligne surlignée en orange vient d'être exécutée, la flèche verte ➜ montre la suivante. Le cadre « 📐 » détaille le calcul avec les valeurs, par exemple s = s + i = 3 + 3 = 6.
- Pour une boucle for, la rangée de pastilles montre les valeurs données par range : range(1, 6) donne 1, 2, 3, 4, 5 et le 6 est barré, car la borne de droite est exclue.
- Pour un if, la condition est évaluée et vaut True ou False : selon le cas, Python exécute le bloc décalé ou le saute (vers elif ou else).
- Le tableau de suivi garde la valeur de chaque variable après chaque pas : c'est le tableau qu'on fait à la main pour « faire tourner » un algorithme.
Expériences à faire
- Dans « Échanger deux variables », que se passe-t-il si tu remplaces c = a par rien du tout (a = b puis b = a) ? Essaie avec « ✏️ Mon programme ».
- Dans « Somme », combien de tours fait la boucle quand n = 5 ? Et quand n = 0 ? Pourquoi ?
- Dans « Prix d'une place de cinéma », quel âge faut-il pour passer par le elif ? Et par le else ?
- Dans « Compter les notes », pourquoi l'indice i va-t-il de 0 à 5 et non de 1 à 6 ?
- Écris un programme qui affiche les nombres pairs de 0 à 20, ou qui calcule 1 × 2 × 3 × … × 10.
Les maths derrière l'animation
- Affectation : a = 5 range la valeur 5 dans la variable a ; a = a + 1 calcule a + 1 avec l'ancienne valeur, puis remplace la valeur de a. Le signe = n'est pas une égalité ; le test d'égalité s'écrit ==.
- Instruction conditionnelle : if condition: … elif condition2: … else: … La condition est un booléen (True ou False) construit avec ==, !=, <, <=, >, >= et and, or, not.
- Boucle bornée : for i in range(a, b): répète le bloc pour i = a, a + 1, …, b − 1 (b est exclu) ; range(n) donne 0, 1, …, n − 1, soit n tours.
- Boucle non bornée : while condition: répète le bloc tant que la condition est vraie ; la condition est testée avant chaque tour, et le bloc doit la faire évoluer.
- Listes : les éléments sont numérotés à partir de 0 ; liste[i] est l'élément de rang i, et len(liste) donne le nombre d'éléments. Le deux-points ouvre un bloc, l'indentation (4 espaces) indique ce qui lui appartient.
D'autres animations
La droite numérique : intervalles et valeur absolue
Fais glisser les bornes, retourne les crochets, croise deux intervalles : I ∩ J, I ∪ J, distance |b − a| et |x − c| ≤ r en direct.
Manipuler →Le zoo des nombres : entiers, décimaux, rationnels et réels
Range n'importe quel nombre dans les enclos emboîtés ℕ ⊂ ℤ ⊂ 𝔻 ⊂ ℚ ⊂ ℝ, puis pars à la chasse à la fraction qui vaudrait √2.
Manipuler →L'équation et la balance
Résous ax + b = cx + d sur une balance : agis sur les deux plateaux pour isoler le sac x… et regarde-la pencher si tu triches !
Manipuler →Et maintenant, on passe aux choses sérieuses ? 😉
ExpoSinus est un site d'éducation : les jeux et les articles sont là pour donner envie, les cours et les exercices pour progresser vraiment.