✅ À retenir
- **Variable** : case mémoire nommée. Affectation : `x = 5` (Python) stocke 5 dans `x`.
- **Boucle `for`** : répète un nombre de fois connu → `for i in range(n):`.
- **Boucle `while`** : répète tant qu'une condition est vraie → `while condition:`.
- **Fonction** : bloc réutilisable → `def f(x): return x**2`.
- **Indentation** : en Python, les blocs sont délimités par 4 espaces (pas d'accolades).
- **Algorithme de seuil** : chercher le plus petit n tel que u_n > S.
📖 Définition — Boucle for vs while
for i in range(a, b): parcourt les entiers de à (nombre d'itérations connu).while condition: continue tant que la condition est vraie (nombre d'itérations variable).
Choisir for quand on connaît le nombre de répétitions ; while pour chercher un seuil.
🔢 Méthode — Écrire un algorithme de calcul
- Décrire les **entrées** (variables à renseigner) et la **sortie** (résultat attendu).
- Décomposer en instructions simples : affectation, test, boucle.
- Traduire en Python avec la bonne indentation.
- Tester avec des valeurs simples pour vérifier.
✏️ Exemple — Algorithmes classiques en Python
range(n) génère les entiers de à (pas jusqu'à !). Pour aller de à inclus : range(1, n+1).
Une boucle while peut tourner indéfiniment si la condition ne devient jamais fausse : toujours vérifier que la variable de contrôle évolue bien à chaque itération.

Python n'est pas qu'un langage de programmation : c'est un outil de mathématiques puissant. Les fonctions math.sqrt(), math.pi, les listes et les boucles permettent de simuler des expériences aléatoires, de chercher des racines, de calculer des intégrales...
🎯 Mini-quiz
1. Que renvoie `range(3)` ?
2. Quelle structure utiliser pour chercher le premier $n$ tel que $2^n > 1000$ ?
3. L'instruction `x = x + 1` :