Chapitre 9 — Algorithmique et programmation Python
Key takeaway
Programme officiel — BO du 25 juillet 2019.
Probabilité 2026 (analyse Innovaweb) : ⭐⭐⭐⭐ — Transversal. Apparaît dans 5 sessions sur 8 Métropole 2022-2025, généralement en sous-question d'un exercice de suite, de probas ou de fonction.
Cadrage du chapitre
Python est utilisé comme outil algorithmique : lire un script, suivre son exécution, le compléter, parfois écrire une fonction simple. Pas besoin de maîtriser l'orienté objet, les listes en compréhension complexes, les modules externes. Le minimum suffit.
Structures de base à connaître
Variables et opérations
x = 5
# affectation
y = 2.5
# variable réelle
n = n + 1
# incrémentation (équivalent : n += 1)
prod = a * b
# produit
quotient = a / b
# division réelle (résultat flottant)
div_ent = a // b
# division entière
reste = a % b
# modulo
puissance = a ** n
# a puissance n
Conditions
if x > 0:
print("positif")
elif x == 0:
print("nul")
else:
print("négatif")
Opérateurs : == (égal), != (différent), <, >, <=, >=, and, or, not.
Boucles for (nombre d'itérations connu)
for k in range(10):
# k = 0, 1, 2, ..., 9
print(k)
for k in range(1, 11):
# k = 1, 2, ..., 10
somme = somme + k
for k in range(0, 20, 2):
# k = 0, 2, 4, ..., 18 (pas de 2)
print(k)
Boucles while (condition à respecter)
n = 0
u = 1
while u < 100:
u = 2 * u
n = n + 1
print(n, u)
Différence clé :
for: on sait combien de fois on itère.while: on itère tant qu'une condition est vraie. Attention aux boucles infinies (vérifier que la condition finit par être fausse).
Fonctions
def carre(x):
return x * x
def somme_premiers(n):
"""Retourne 1 + 2 + ... + n."""
s = 0
for k in range(1, n + 1):
s = s + k
return s