Aller au contenu

Mathématiques (spécialité) · PremièreÉpreuve anticipée de mathématiques

Méthode de seuil et de balayage : cours de Première spé

Publié le 7 novembre 2026 · Mis à jour le 7 novembre 2026 · Signaler une erreur

L'essentiel

  • Un problème de seuil demande le premier rang à partir duquel une grandeur dépasse (ou passe sous) une valeur donnée ; on le résout par un calcul, un graphique ou une boucle tant que.
  • La boucle tant que se construit en quatre temps : initialiser, tester la condition de continuation, mettre à jour la valeur et le rang, retourner le rang.
  • La condition du tant que est le contraire de ce que tu cherches : tu continues tant que le seuil n'est pas atteint.
  • Le balayage parcourt une liste élément par élément avec une boucle pour afin de compter, de repérer le premier indice qui convient ou de tout examiner.
  • Les pièges : inégalité stricte ou large, rang décalé d'une unité, boucle infinie quand la suite n'atteint jamais le seuil, confusion entre indice et valeur.

Pourquoi chercher un seuil ?

Une entreprise voit son nombre d'abonnés augmenter chaque mois. Un épargnant place une somme à intérêts composés. Un thermomètre relève une température toutes les heures. Dans ces trois situations, une même question revient : à partir de quand la grandeur dépasse-t-elle une valeur qui nous intéresse ? Combien de mois avant d'atteindre 1 000 abonnés ? Combien d'années avant que le capital double ? À quelle heure la température a-t-elle franchi 30 degrés ?

Cette valeur qui nous intéresse s'appelle un seuil. Les ressources officielles de mathématiques de Première classent d'ailleurs le problème de seuil parmi les situations à savoir traiter, pour une croissance linéaire comme pour une croissance exponentielle 2. Dans ce cours, tu vas apprendre deux outils complémentaires :

  • la méthode de seuil, qui cherche le premier rang d'une suite à partir duquel une condition est vraie ;
  • la méthode de balayage, qui parcourt une liste de valeurs déjà connues pour y chercher, compter ou comparer.

Ce chapitre s'appuie sur deux notions vues avant : les listes en Python (avec la compréhension de listes) et les algorithmes sur les suites, où une boucle sert à calculer un terme de rang donné 3. Si tu sais écrire une fonction qui renvoie u10u_{10} pour une suite définie par récurrence, tu as tout ce qu'il faut pour commencer.

Deux situations, deux boucles

Avant d'écrire la moindre ligne de code, pose-toi une question simple : est-ce que je sais combien de tours je vais faire ?

  • Si la réponse est oui (la liste a 7 éléments, je fais 7 tours), on utilise une boucle pour. C'est le cas du balayage.
  • Si la réponse est non (je répète jusqu'à ce que ça dépasse 1 000), on utilise une boucle tant que. C'est le cas du seuil.

Les documents d'accompagnement signalent que les problèmes de seuil, qu'ils portent sur une valeur fixée ou sur une valeur qui change d'un énoncé à l'autre, demandent une boucle « tant que » 3. Dans la pratique, cela veut dire que ton programme doit fonctionner même si on change la valeur du seuil : tu la passes donc comme paramètre de ta fonction.

Les étapes d'un algorithme de seuilQuatre étapes successives : initialiser, tester la condition, mettre à jour, retourner le rang.1Initialiseru prend la valeur de u0 et n vaut 02TesterOn continue tant que le seuil n'est pas atteint3Mettre à jourOn calcule le terme suivant et on ajoute 1 à n4RetournerÀ la sortie, n est le premier rang qui convient
  1. Initialiseru prend la valeur de u0 et n vaut 0
  2. TesterOn continue tant que le seuil n'est pas atteint
  3. Mettre à jourOn calcule le terme suivant et on ajoute 1 à n
  4. RetournerÀ la sortie, n est le premier rang qui convient
Les étapes d'un algorithme de seuil · Le squelette est le même pour toutes les suites, seule la mise à jour change.

La boucle tant que, pas à pas

Prenons une suite arithmétique : u0=10u_0 = 10 et un+1=un+4u_{n+1} = u_n + 4. On veut le premier rang nn tel que un>100u_n > 100. Commence par comprendre ce que doit faire l'ordinateur, comme tu le ferais à la main : tu calcules u0u_0, tu regardes s'il dépasse 100, sinon tu calcules u1u_1, tu regardes encore, etc. Chaque tour de boucle correspond à un passage au terme suivant.

Une fois la boucle terminée, la variable n donne le rang cherché. Si l'énoncé demande la valeur du premier terme qui dépasse le seuil, tu renvoies u. Si l'énoncé demande les deux, tu renvoies un couple : return n, u. Lis donc bien la question avant de choisir ce que la fonction retourne.

Seuil et croissance : linéaire ou exponentielle

Le même squelette sert pour toutes les suites définies par récurrence. Seule la ligne de mise à jour change. Les ressources de Première rappellent qu'une suite géométrique modélise une grandeur dont le taux d'évolution reste le même d'un rang à l'autre 2. Une suite arithmétique, elle, ajoute toujours la même quantité : c'est la croissance linéaire.

Modèle Récurrence Ligne de mise à jour
Croissance linéaire (arithmétique) un+1=un+ru_{n+1} = u_n + r u = u + r
Croissance à taux constant (géométrique) un+1=q×unu_{n+1} = q \times u_n u = q * u

Pour une évolution de tt % par période, le coefficient multiplicateur est q=1+t100q = 1 + \dfrac{t}{100}. Une hausse de 5 % correspond à q=1,05q = 1{,}05.

Pour une croissance linéaire, on peut aussi résoudre le problème par un calcul algébrique. Avec un=u0+nru_n = u_0 + n r et r>0r > 0, la condition un>Su_n > S équivaut à n>S−u0rn > \dfrac{S - u_0}{r}. Avec l'exemple u0=10u_0 = 10, r=4r = 4 et S=100S = 100, on obtient n>22,5n > 22{,}5, donc le plus petit entier convenable est 23. C'est exactement ce que donnait l'algorithme.

Pour une croissance exponentielle, la résolution par le calcul demande des outils que tu n'as pas encore tous en Première. Les ressources évoquent la résolution par le calcul, mais aussi à l'aide d'une représentation graphique ou d'un algorithme 2. Le tableau de valeurs de la calculatrice et la boucle tant que restent alors tes meilleurs alliés.

Le balayage d'une liste

Place-toi maintenant dans une situation différente : tu as une liste de relevés, par exemple les notes d'un élève notes = [8, 12, 15, 9, 17, 14], et tu veux répondre à des questions sur cette liste. Le nombre d'éléments est connu : la boucle pour convient. On appelle cela un balayage, parce que l'on passe sur chaque case, de la première à la dernière.

La compréhension de listes que tu connais permet d'écrire certains balayages en une ligne :

indices = [i for i in range(len(notes)) if notes[i] >= 12]
effectif = len([v for v in notes if v >= 12])

La première ligne donne la liste de tous les indices qui conviennent, la seconde le nombre de valeurs qui conviennent. Pour trouver le premier indice, on prend indices[0] à condition que la liste ne soit pas vide.

Erreurs fréquentes et sécurités

Méthode complète pour résoudre un problème

Exercices corrigés

Exercice 1 Seuil d'une suite arithmétique

★☆☆Environ 8 min

Une bibliothèque possède 500 livres. Elle en achète 30 de plus chaque mois, de sorte que le nombre de livres suit une suite arithmétique (un)(u_n) avec u0=500u_0 = 500 et un+1=un+30u_{n+1} = u_n + 30.

  1. Écris une fonction Python qui renvoie le premier rang nn tel que un>1000u_n > 1000.
  2. Retrouve le résultat par un calcul.
  3. Combien de livres possède la bibliothèque à ce rang ?
Indice 1

La condition de continuation est le contraire de un>1000u_n > 1000.

Indice 2

Pour le calcul, résous 500+30n>1000500 + 30n > 1000 et prends le plus petit entier qui convient.

Voir la correction pas à pas
  1. On cherche un>1000u_n > 1000, donc on continue tant que un≤1000u_n \leq 1000.

  2. Fonction : initialiser n = 0 et u = 500, puis while u <= 1000: avec u = u + 30 et n = n + 1, enfin return n.

  3. Par le calcul : un=500+30nu_n = 500 + 30n. L'inégalité 500+30n>1000500 + 30n > 1000 donne 30n>50030n > 500, soit n>16,67n > 16{,}67 environ.

  4. Le plus petit entier strictement supérieur à 16,6716{,}67 est 17. Le rang cherché est donc 17.

  5. Contrôle : u16=500+480=980≤1000u_{16} = 500 + 480 = 980 \leq 1000 et u17=500+510=1010>1000u_{17} = 500 + 510 = 1010 > 1000.

  6. Au rang 17, la bibliothèque possède 1 010 livres.

Le premier rang pour lequel la bibliothèque dépasse 1 000 livres est 17, avec 1 010 livres. Le calcul et l'algorithme donnent le même résultat.

Exercice 2 Seuil d'un capital à intérêts composés

★★☆Environ 12 min

On place 2 000 euros à 3 % par an, intérêts composés. On note CnC_n le capital après nn années.

  1. Donne la nature de la suite (Cn)(C_n) et sa raison.
  2. Écris une fonction Python qui renvoie la première année nn où le capital dépasse 3 000 euros.
  3. Détermine ce rang en t'aidant de valeurs approchées de 1,03131{,}03^{13} et 1,03141{,}03^{14}.
Indice 1

Une hausse de 3 % revient à multiplier par 1,031{,}03.

Indice 2

On a Cn=2000×1,03nC_n = 2000 \times 1{,}03^n ; compare CnC_n à 3 000 en testant des rangs voisins de 13 et 14.

Voir la correction pas à pas
  1. Une hausse de 3 % multiplie le capital par 1,031{,}03 chaque année : la suite est géométrique de raison q=1,03q = 1{,}03 et de premier terme C0=2000C_0 = 2000.

  2. Condition cherchée : Cn>3000C_n > 3000. On continue donc tant que Cn≤3000C_n \leq 3000.

  3. Fonction : initialiser n = 0 et c = 2000, puis while c <= 3000: avec c = 1.03 * c et n = n + 1, enfin return n.

  4. Avec Cn=2000×1,03nC_n = 2000 \times 1{,}03^n, on a C13≈2000×1,4685≈2937C_{13} \approx 2000 \times 1{,}4685 \approx 2937 euros, encore sous 3 000.

  5. De même C14≈2000×1,5126≈3025C_{14} \approx 2000 \times 1{,}5126 \approx 3025 euros, au-dessus de 3 000.

  6. Le premier rang qui convient est donc 14 : le capital dépasse 3 000 euros au bout de 14 ans.

Le capital dépasse 3 000 euros au bout de 14 ans (environ 3 025 euros). La croissance étant exponentielle, on a trouvé le rang en testant des valeurs ou en laissant la boucle faire le travail.

Exercice 3 Balayage d'une liste de températures

★★☆Environ 10 min

Voici les températures maximales relevées sur sept jours : temp = [12, 18, 25, 9, 31, 22, 27].

  1. Écris une fonction qui compte les jours où la température est strictement supérieure à 20.
  2. Quelle valeur renvoie-t-elle pour cette liste ?
  3. Écris une fonction qui renvoie l'indice du premier jour où la température dépasse 20, et donne sa valeur ici.
Indice 1

Utilise une variable compteur, initialisée à 0, que tu augmentes de 1 à chaque valeur qui convient.

Indice 2

Pour l'indice, parcours avec range(len(temp)) et arrête-toi par un return dès qu'une valeur convient.

Voir la correction pas à pas
  1. Fonction de comptage : c = 0, puis for v in temp: avec if v > 20: et c = c + 1, enfin return c.

  2. On passe en revue les valeurs : 12 (non), 18 (non), 25 (oui), 9 (non), 31 (oui), 22 (oui), 27 (oui).

  3. Quatre valeurs sont strictement supérieures à 20 : la fonction renvoie 4.

  4. Fonction du premier indice : for i in range(len(temp)): avec if temp[i] > 20: et return i.

  5. La première valeur qui convient est 25, située à l'indice 2 (les indices commencent à 0), donc cette fonction renvoie 2.

Quatre jours dépassent 20 degrés, et le premier est à l'indice 2, c'est-à-dire le troisième jour. Attention à ne pas confondre l'indice 2 avec la valeur 25.

Quiz

9 questions · correction immédiate · ton score reste sur ton appareil.

  1. Tu cherches le premier rang nn où une suite arithmétique dépasse 1 000. Tu ne sais pas combien de termes il faudra calculer. Quelle structure choisis-tu ?

  2. On cherche le premier rang où un>Su_n > S. Quelle condition de continuation faut-il écrire dans la boucle ?

  3. Soit un=3n+2u_n = 3n + 2. Quel est le plus petit rang nn tel que un>50u_n > 50 ?

  4. Un capital de 100 euros augmente de 10 % par an. Au bout de combien d'années (entières) dépasse-t-il 200 euros pour la première fois ?

  5. Pour trouver le premier rang où une suite croissante dépasse le seuil SS, on écrit while u > S.

  6. Dans la fonction premier_indice(liste, S), le return None est placé après la boucle. Dans quel cas est-il exécuté ?

  7. Quelles situations peuvent provoquer une boucle infinie dans un algorithme de seuil ? (plusieurs réponses)

    Plusieurs réponses possibles.

  8. Avec notes = [8, 12, 15, 9, 17, 14], que renvoie un balayage qui compte les notes supérieures ou égales à 12 ?

  9. Dans for i in range(len(liste)), que contient la variable i ?

Les questions qu'on se pose

Quelle différence entre une méthode de seuil et un balayage ?

Dans un seuil, on génère les termes d'une suite un par un et on s'arrête quand la condition devient vraie : la boucle tant que convient, puisqu'on ignore le nombre de tours. Dans un balayage, la liste existe déjà et on la parcourt d'un bout à l'autre avec une boucle pour. La première méthode cherche quand, la seconde examine ce qui est déjà là.

Pourquoi ne peut-on pas toujours résoudre un seuil par un calcul ?

En croissance linéaire, l'inéquation u0+nr>Su_0 + nr > S se résout directement. En croissance exponentielle, l'inconnue nn est en exposant, et tu n'as pas à ce niveau tous les outils pour l'isoler. Tu utilises alors le tableau de valeurs, le graphique ou l'algorithme, qui fonctionnent dans tous les cas.

Comment éviter de me tromper d'un rang ?

Teste ta fonction sur un petit seuil que tu sais traiter à la main, par exemple avec u0=10u_0 = 10, r=4r = 4 et S=20S = 20 : tu dois trouver 3. Vérifie ensuite sur le résultat que unu_n est au-dessus du seuil et que un−1u_{n-1} est en dessous (ou égal, si l'inégalité est stricte).

Que faire si mon programme ne s'arrête jamais ?

Interromps-le, puis demande-toi si la suite peut vraiment franchir le seuil. Une raison négative ou un coefficient multiplicateur inférieur ou égal à 1 avec un seuil plus haut que le premier terme rend le dépassement impossible. Ajoute au besoin un nombre maximal de tours dans la condition de la boucle.

Doit-on utiliser `break` dans un balayage ?

Ce n'est pas obligatoire. Pour repérer le premier élément qui convient, un return dans la boucle d'une fonction arrête tout dès que c'est trouvé, ce qui rend le break inutile. Pour compter ou retenir un maximum, il faut au contraire parcourir toute la liste, donc sans arrêt anticipé.

Sources

  1. Ressources Éduscol - Algorithmique et programmation en première (mathématiques spécialité), Éduscol. Consulté le 7 novembre 2026.
  2. Ressources - Algorithmique et programmation en première générale, Éduscol. Consulté le 7 novembre 2026.
  3. Diaporama algorithmique (ressources académiques - Mathématiques Lycée), Académie de Strasbourg. Consulté le 7 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.

Signaler une erreur sur cette page

Je suis en…

Primaire

  • CP Bientôt
  • CE1 Bientôt
  • CE2 Bientôt
  • CM1 Bientôt
  • CM2 Bientôt

Collège

Lycée

Supérieur

  • BTS Bientôt
  • BUT Bientôt
  • Licence Bientôt
  • Prépas Bientôt

Sur cette page