Mathématiques (spécialité) · PremièreÉpreuve anticipée de mathématiques
Automatismes de première : exercices corrigés (Python, suites)
Publié le 6 novembre 2026 · Mis à jour le 6 novembre 2026 · Signaler une erreur
L'essentiel
- Un automatisme se construit en répétant une même procédure sur des situations variées 1.
- Une liste en compréhension s'écrit
[expression for n in range(k) if condition]: lis-la comme une phrase. - Pour une suite, on calcule les premiers termes à la main avant d'écrire la boucle, puis on compare.
- Un seuil se cherche avec une boucle
while: on avance tant que la condition n'est pas atteinte, et on renvoie le premier rang qui convient. - Pour réfuter une affirmation « pour tout n », un seul contre-exemple suffit ; pour la démontrer, des essais ne suffisent jamais.
Comment utiliser ces exercices
Ces exercices t'entraînent aux gestes qui reviennent sans cesse en première : lire une liste en compréhension, calculer les termes d'une suite, chercher un seuil, parcourir une liste pour compter ou comparer, et raisonner proprement sur une affirmation « pour tout n ». Ils sont classés du plus simple au plus délicat.
Un automatisme, ce n'est pas un réflexe aveugle. Les ressources d'accompagnement du ministère proposent des pistes pour installer, faire vivre et renforcer ces automatismes chez les élèves 1. Elles expliquent aussi qu'une procédure se règle et devient automatique par étapes : plus on la rencontre souvent, et dans des contextes différents, plus elle s'installe 1. Concrètement : refais les mêmes gestes régulièrement, mais sur des énoncés qui ne se ressemblent pas.
Rappels utiles avant de commencer
Les exercices
Exercice 1 Lire une liste en compréhension
On considère l'instruction Python :
L = [3*n + 2 for n in range(5)]
- Écris la liste
Lobtenue. - Calcule la somme des éléments de
L.
Indice 1
range(5) donne les entiers de 0 à 4 : calcule pour chacun.
Indice 2
Additionne les cinq valeurs une à une, ou remarque qu'elles augmentent de 3 à chaque fois.
Voir la correction pas à pas
range(5)parcourt (le 5 est exclu).On calcule : , , , , .
La liste est donc
[2, 5, 8, 11, 14].On additionne : .
La liste est [2, 5, 8, 11, 14] et la somme vaut 40. Les éléments augmentent de 3 à chaque pas : c'est une suite arithmétique de raison 3 écrite sous forme de liste.
Exercice 2 Un terme éloigné d'une suite arithmétique
La suite est définie par et, pour tout entier , .
- Calcule , et .
- Donne l'expression de en fonction de .
- En déduire sans écrire dix lignes de calcul.
Indice 1
Chaque terme s'obtient en ajoutant toujours le même nombre au précédent : de quel type de suite s'agit-il ?
Indice 2
Pour passer de à , combien de fois ajoute-t-on 4 ?
Voir la correction pas à pas
On applique la relation : , , .
On ajoute toujours 4 : la suite est arithmétique de raison 4 et de premier terme .
Pour tout , .
Pour : .
On trouve , , , et 45. Réflexe à garder : « j'ajoute toujours la même chose » doit faire penser à la forme explicite .
Exercice 3 Compter avec un filtre
On donne la liste L = [12, 5, 8, 20, 3, 15, 9].
- Écris la liste
[x for x in L if x > 8]. - Que renvoie
len([x for x in L if x > 8])? - Écris une fonction
compte(L, a)avec une boucleforqui renvoie le nombre d'éléments deLstrictement supérieurs àa.
Indice 1
Le mot if à la fin de la compréhension garde seulement les éléments qui vérifient la condition. Attention : > 8 est strict, le 8 n'est pas gardé.
Indice 2
Dans la fonction, utilise un compteur initialisé à 0 avant la boucle.
Voir la correction pas à pas
On teste chaque élément : 12 oui, 5 non, 8 non (strict), 20 oui, 3 non, 15 oui, 9 oui.
La liste filtrée est
[12, 20, 15, 9].lenrenvoie le nombre d'éléments de cette liste : 4.Fonction : on pose
c = 0, on parcourtL, on ajoute 1 àcà chaquex > a, puis on renvoiec.
La liste filtrée est [12, 20, 15, 9], donc len renvoie 4. Le point de vigilance est l'inégalité stricte : l'élément 8 n'est pas compté.
Exercice 4 Une suite récurrente à la main puis par le calcul
La suite est définie par et .
- Calcule , , .
- Écris une fonction Python
terme(n)qui renvoie . - On pose . Montre que est géométrique, puis donne .
Indice 1
Dans la fonction, la boucle for i in range(n) doit être exécutée exactement fois.
Indice 2
Exprime en fonction de en remplaçant par .
Voir la correction pas à pas
, , .
Fonction :
u = 4, puisfor i in range(n): u = 2*u - 3, puisreturn u.Pour la suite : .
La suite est donc géométrique de raison 2, avec . Ainsi .
On revient à . Pour : .
Contrôle avec la boucle : puis . Les deux méthodes concordent.
On obtient , , , et 35. Garde l'habitude de confronter la formule explicite à un calcul de proche en proche : si les deux résultats diffèrent, il y a une erreur quelque part.
Exercice 5 Chercher un seuil dans une suite géométrique
Un capital de euros est placé à intérêts composés au taux annuel de . On note le capital après années, avec .
- Exprime en fonction de , puis en fonction de .
- Écris une fonction
seuil()qui renvoie le plus petit entier tel que . - Détermine cet entier par le calcul.
Indice 1
Augmenter de 5 % revient à multiplier par un coefficient. Lequel ?
Indice 2
Résous , c'est-à-dire , en testant des valeurs de .
Indice 3
La condition de la boucle while est la négation de .
Voir la correction pas à pas
Une hausse de 5 % correspond au coefficient : .
La suite est géométrique : .
Fonction :
n = 0,c = 200,while c <= 300:on faitc = 1.05*cpuisn = n + 1, et on renvoien.On cherche . On teste : (pas assez), (suffisant).
La suite est croissante, donc dès que le seuil est franchi à , il le reste : le plus petit entier est .
Le capital dépasse 300 euros pour la première fois après 9 années. Au rang 8, il vaut environ euros, ce qui reste en dessous de 300.
Exercice 6 Un contre-exemple qui casse une régularité
Léa observe que pour , le nombre donne , qui sont tous premiers. Elle affirme : « pour tout entier naturel , est premier ».
- Calcule .
- Montre que s'écrit comme un produit de deux entiers supérieurs à 1.
- Que peux-tu conclure sur l'affirmation de Léa ?
Indice 1
Remplace par 40, en faisant attention à .
Indice 2
Regarde le nombre obtenu : ressemble-t-il à un carré que tu connais ?
Voir la correction pas à pas
.
On remarque que , car .
est donc un produit de deux entiers supérieurs à 1 : il n'est pas premier.
L'affirmation « pour tout » est fausse : est un contre-exemple.
On trouve 1681 , qui n'est pas premier. Cinq vérifications réussies n'ont donc rien démontré : un seul contre-exemple suffit à réfuter une affirmation universelle, alors qu'aucune série d'essais ne la prouve.
Exercice 7 Balayage et seuil sur une somme
On considère la fonction suivante :
def rang():
n = 0
s = 0
while s <= 100:
n = n + 1
s = s + n
return n
- Fais le tableau de suivi des variables
netspour les quatre premiers passages dans la boucle. - Que représente
saprès passages ? Donne une formule en fonction de . - Quelle valeur la fonction renvoie-t-elle ? Justifie par le calcul, sans exécuter le programme.
Indice 1
Ici l'incrément de n a lieu avant la mise à jour de s : suis bien l'ordre des lignes.
Indice 2
Après passages, s vaut . Utilise la formule de la somme des premiers entiers.
Indice 3
Cherche le plus petit tel que ; encadre avec et .
Voir la correction pas à pas
Tableau : passage 1 →
n=1,s=1 ; passage 2 →n=2,s=3 ; passage 3 →n=3,s=6 ; passage 4 →n=4,s=10.Après passages,
s.La boucle continue tant que et s'arrête au premier passage où .
Pour : , la boucle continue.
Pour : , la boucle s'arrête.
La fonction renvoie la valeur de
nà cet instant : .
La fonction renvoie 14. Comme la mise à jour de n précède celle de s, la valeur renvoyée est bien le rang qui a franchi le seuil, et non le suivant. Dans une boucle de seuil, l'ordre des lignes décide de la réponse.
Les questions qu'on se pose
Comment savoir si je dois utiliser une boucle `for` ou une boucle `while` ?
Si le nombre de répétitions est connu à l'avance (calculer , parcourir une liste), utilise for. Si tu dois répéter jusqu'à ce qu'une condition soit atteinte (premier rang qui dépasse un seuil), utilise while. Dans une boucle while, vérifie toujours que la variable testée évolue à chaque tour, sinon le programme ne s'arrête jamais.
Mon programme donne un rang décalé d'une unité : où chercher l'erreur ?
Trois causes reviennent presque toujours. D'abord range(n), qui s'arrête à . Ensuite l'ordre des lignes dans la boucle : incrémenter le rang avant ou après la mise à jour de la valeur ne donne pas le même résultat. Enfin l'inégalité : <= et < ne définissent pas le même seuil. Pour trouver laquelle est en cause, fais un tableau de suivi des variables sur deux ou trois tours et compare avec un calcul à la main.
Sources
- Ressources d'accompagnement - Automatismes en mathématiques, Ministère de l'Éducation nationale. Consulté le 6 novembre 2026.
- Automatisme, Wikipédia. Consulté le 6 novembre 2026.
- Automatisme (psychologie), Wikipédia. Consulté le 6 novembre 2026.
Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.