Python au bac : les points que trop de copies abandonnent
Quand je débriefe des copies de bac blanc, un motif revient avec une régularité qui m'agace : la question Python laissée blanche, ou expédiée en deux lignes fausses. Interrogés, les élèves répondent presque tous la même chose : « l'informatique, c'est pas mon truc ». Sauf que le bac ne demande pas d'informatique : il demande de lire et compléter six lignes de code autour d'une suite ou d'une fonction, sur des modèles qui se comptent sur les doigts d'une main. Ce sont des points prévisibles, courts, et abandonnés. Réparons ça en une lecture.
Les questions Python des sujets de spé maths se limitent à lire, compléter ou écrire de courts scripts sur des modèles récurrents : la boucle de seuil (while) sur une suite, le calcul d'un terme par boucle for, la dichotomie à compléter, la somme par accumulateur et la simulation de probabilités. Le vocabulaire nécessaire tient en six mots-clés (def, return, for, range, while, if), et la compétence testée est l'exécution de tête, ligne par ligne, en suivant l'état des variables.
Ce que les sujets demandent vraiment (et ce qu'ils ne demandent pas)
Aucun sujet ne demande de concevoir un programme. Les formats observés se résument à trois : compléter les pointillés d'une fonction fournie, dire ce que renvoie un appel donné (exécution de tête), et écrire une fonction courte sur un modèle archi-classique. Le contexte mathématique est presque toujours le même : une suite définie par récurrence, parfois une fonction ou une simulation de probabilités. Autrement dit : si vous maîtrisez l'exercice de suites, vous possédez déjà les maths de la question Python : il ne manque que la lecture du code.
La star absolue : la boucle de seuil
« Écrire une fonction qui renvoie le plus petit entier n tel que u(n) dépasse un seuil S. » Le squelette à connaître par cœur :
def seuil(S): n = 0 u = 2 # le premier terme while u <= S: u = 0.5*u + 3 # la relation de récurrence n = n + 1 return n
Trois adaptations possibles, et trois seulement : le terme initial, la relation de récurrence, et le sens de la condition. Tout le piège est dans ce dernier point, traité dans la FAQ ci-dessous : la condition du while exprime la poursuite. Le lien avec le cours, que les sujets adorent faire remarquer : si cette fonction termine, c'est que la suite finit par franchir le seuil : ce que la limite, établie dans les questions d'avant, garantissait justement.
Les autres figures imposées
Calculer u(n) : une boucle for in range(n) qui applique n fois la récurrence. Le piège : le décalage d'indices (part-on de u0 ou de u1 ?) : je fais vérifier sur n = 2, à la main, systématiquement. La dichotomie : presque toujours fournie à compléter ; la ligne clé est le test du produit f(a) fois f(m), qui décide dans quelle moitié continuer : c'est le pendant algorithmique de l'encadrement du TVI vu dans limites et continuité. La somme : un accumulateur initialisé à zéro AVANT la boucle, puis s = s + u dedans : l'oubli d'initialisation est l'erreur type. La simulation : compter des succès sur n répétitions avec random(), et la question d'interprétation derrière, qui pointe vers la loi des grands nombres : la fréquence se rapproche de la probabilité théorique.
Ma consigne d'épreuve : la traiter en premier passage
La question Python est courte, prévisible, et indépendante du reste de l'exercice les trois quarts du temps. Dans la stratégie des deux passages, elle se classe « terrain connu » d'office pour qui a fait ses deux séances de préparation : cinq minutes, des points ramassés, et l'effet psychologique d'une question bouclée proprement en début d'épreuve. Abandonner ces points-là, c'est laisser de l'argent sur la table pour une phobie qui ne résiste pas à une après-midi de travail.
Le raccourci : recevez gratuitement « Les 30 questions-réponses qui tombent à 90 % le jour du bac » : utilisable dès le prochain DS. Le recevoir ici.
Ce que les élèves me répondent quand je parle Python
Je n'ai jamais accroché à la programmation : combien de temps pour être au niveau du bac ?
Dans une boucle de seuil, je ne sais jamais si c'est « inférieur » ou « supérieur » dans le while : comment trancher ?
La question demande « que renvoie cet appel ? » : il y a une méthode ?
En prépa, je suis passé de 6,2 à 17,9 de moyenne en changeant une seule chose : ma méthode de travail. J'accompagne aujourd'hui des élèves de Terminale en spé maths, avec un cours en direct chaque semaine, un suivi du travail entre les séances et un rapport envoyé aux parents tous les lundis. Mon histoire complète.
Vous voulez un avis honnête sur la situation de votre enfant ?
L'appel diagnostic de 30 minutes est gratuit : on fait le point ensemble, et on vous dit franchement si on peut l'aider, ou pas.
