J'ai construit cette page pour mes élèves en cours particuliers — et pour tous les terminales spé maths qui bloquent sur Python. Tout le code s'exécute directement dans le navigateur : tu modifies, tu cliques Exécuter, tu vois le résultat. Courage — avec cette page, tu seras bien préparé !
Chargement du moteur Python…
En terminale, le programme n'introduit aucune notion Python nouvelle. Il consolide ce que tu connais déjà depuis la seconde, et l'applique à des algorithmes mathématiques bien identifiés. Si tu maîtrises les 5 briques ci-dessous, tu as tout.
x = x + 1).if / elif / else.for (« Pour ») et while (« Tant que »).def … return, et découper un problème en sous-fonctions (programmation modulaire).Recherche de seuil, calcul de termes et de sommes d'une suite, résolution d'équation par balayage et par dichotomie, simulation d'une loi et comptage de succès, recherche d'un seuil de probabilité pour une loi binomiale. écrit
Hors épreuve écrite mais possibles à l'oral : méthode des rectangles (intégrale), méthode de Monte-Carlo, algorithme de Brouncker, méthode de Newton. oral
Le vocabulaire de tous les exercices. Lis le code, devine la sortie, puis vérifie.
Deux opérateurs reviennent tout le temps au bac : // (division entière) et % (le reste). Ne les confonds jamais avec / (division décimale).
if / elif / elseL'indentation (4 espaces) délimite les blocs. C'est elle qui dit « ce code appartient au if ».
for : attention à rangePiège classique : range(1, 6) s'arrête à 5, la borne de droite est exclue. Et range(n) parcourt 0, 1, …, n−1.
while (« Tant que »)On l'utilise quand on ne connaît pas à l'avance le nombre de tours : on tourne tant qu'une condition est vraie. C'est la boucle des problèmes de seuil.
La condition d'un while doit finir par devenir fausse. Si tu oublies de faire évoluer la variable (ici n = n + 1), la boucle ne s'arrête jamais.
return renvoie une valeur (réutilisable), alors que print ne fait qu'afficher. Une liste se parcourt avec for, son premier élément est L[0], le dernier L[-1].
C'est le terrain de jeu du Python au bac. Trois algorithmes reviennent sans arrêt : calculer un terme, calculer une somme, et chercher un seuil.
Une suite définie par u(0) = 2 et u(n+1) = 0,5·u(n) + 3. On part de u0 et on applique la relation n fois.
Le motif universel : une variable S initialisée à 0 avant la boucle, à laquelle on ajoute chaque terme.
« À partir de quel rang la suite dépasse-t-elle 100 ? » On ne connaît pas le nombre de tours → boucle while. On fait évoluer la suite et un compteur de rang ensemble.
Initialiser u et n = 0 → while u <= seuil: → dans la boucle, mettre u à jour puis n = n + 1.
La suite de Syracuse : tant que le terme n'est pas 1, on le divise par 2 s'il est pair, sinon 3u+1. On garde toute la trajectoire dans une liste.
Approcher une solution de f(x) = 0 quand on ne sait pas la calculer à la main. Deux méthodes au programme : le balayage et la dichotomie.
On avance par petits pas tant que f(x) n'a pas changé de signe. Simple, mais précision limitée par le pas.
Bien plus efficace : on coupe l'intervalle [a ; b] en deux à chaque tour. Hypothèse : f change de signe entre a et b. La précision double à chaque étape.
Pour approcher une intégrale (aire sous la courbe), on découpe en n rectangles et on additionne leurs aires. Plus n est grand, plus c'est précis.
Pour les équations différentielles. Ici y' = y avec y(0) = 1 : la solution est exp, donc y(1) doit approcher e ≈ 2,718.
Le module random permet de simuler le hasard. Idée centrale : si on répète énormément une expérience, la fréquence observée s'approche de la probabilité théorique (loi des grands nombres).
random.randint(1, 6) tire un entier au hasard entre 1 et 6. On compte combien de fois on obtient un 6 sur beaucoup de lancers.
Une loi binomiale B(n, p) compte les succès sur n épreuves indépendantes. On simule, puis on vérifie que la moyenne empirique s'approche de l'espérance n·p.
Un grand classique : pour X ~ B(n, p), trouver le plus petit entier k tel que P(X > k) ≤ α. On cumule les P(X = i) tant que c'est nécessaire.
Estimer π avec le hasard : on tire des points dans un carré et on regarde la proportion qui tombe dans le quart de disque.
Au bac, on te demande souvent de lire ou compléter un programme. Ces confusions sont les plus fréquentes — repère-les.
= affecte une valeur. == teste une égalité (dans un if / while).
La borne b est exclue. range(1, 5) donne 1, 2, 3, 4.
7/2 = 3.5 (décimal) mais 7//2 = 3 (entier). Le bac adore tester ça.
Un total ou un compteur se met à 0 avant le for/while, jamais dedans.
4 espaces. C'est elle qui définit ce qui est « à l'intérieur » d'un bloc.
return renvoie une valeur réutilisable ; print ne fait qu'afficher.
L[0] est le 1er élément. Le dernier : L[-1].
Vérifie que la variable testée évolue, sinon boucle infinie.
« Que renvoie / qu'affiche ce code ? » est le format de question le plus courant. Réponds de tête avant de cliquer.
1 · Qu'affiche ce programme ?
x = 5
for k in range(3):
x = x + 2
print(x)
range(3) fait 3 tours : on ajoute 2 trois fois. 5 + 2 + 2 + 2 = 11.
2 · Qu'affiche print(7 // 2, 7 % 2) ?
// = quotient entier de 7 par 2 → 3. % = reste → 1.
3 · Que renvoie f(4) ?
def f(n):
s = 0
for i in range(1, n + 1):
s = s + i
return s
range(1, 5) = 1, 2, 3, 4. La somme 1 + 2 + 3 + 4 = 10.
4 · Qu'affiche ce programme (recherche de seuil) ?
u = 1
n = 0
while u < 20:
u = 3 * u
n = n + 1
print(n)
u : 1 → 3 (n=1) → 9 (n=2) → 27 (n=3), et 27 ≥ 20 donc on s'arrête. n = 3.
Tu prépares le bac et tu veux travailler ensemble ?
Je donne des cours particuliers en maths et informatique à Valence (26), à domicile. Réponse sous 24 h.