Introduction
L’algorithme de seuil est la question d’algorithmique la plus fréquente au bac. Ce quatrième chapitre explique comment trouver le plus petit entier n tel que un dépasse (ou passe sous) une valeur A, à l’aide d’une boucle Tant que et d’un compteur.
Le chapitre insiste sur les deux points qui font perdre des points : écrire la condition contraire de ce que l’on cherche, et justifier que la boucle s’arrête grâce à la limite de la suite. Trois packs : un placement qui tend vers +∞, une suite décroissante qui passe sous un seuil et la comparaison de deux suites (d’après Bac Centres étrangers 2025).
Chaque programme est écrit en algorithme, en Python et sur TI-82, suivi des quatre erreurs classiques et de cinq exercices en contexte (médicament, voiture, abonnés…).
Chapitre précédent : chapitre 3 – sommes et produits de termes · chapitre suivant : chapitre 5 – approcher une limite ou une constante. Retrouvez tous les chapitres dans la rubrique Algorithmique et Python.
Cours proposé par Pr. Elakili sur Mission Maths 360.
Méthode
On cherche le plus petit entier
tel que
(ou
, ou
…). On ne sait pas combien de tours faire : on utilise une boucle Tant que et un compteur
.
- La condition de la boucle est le contraire de ce que l’on cherche : pour obtenir
, on répète tant que
. - À chaque tour : on calcule le terme suivant et on augmente le compteur de
. À la sortie, on affiche (ou on renvoie)
. - Pourquoi la boucle s’arrête-t-elle ? C’est l’argument attendu au bac : si
, alors
finit par dépasser n’importe quel réel
; si
… la boucle «
» ne s’arrêterait jamais !
1. Trois situations types
Pack 1 – suite qui tend vers +∞ : un placement
Léna place
€ au 1er janvier 2026. Chaque année, le capital augmente de 3 %, puis elle ajoute
€. On note
le capital au 1er janvier 2026 +
:
et
. On admet que
est croissante et tend vers
. En quelle année le capital dépassera-t-il
€ ?
Algorithme
Saisir A
n ← 0 ; c ← 1000
Tant que c ⩽ A
c ← 1,03 c + 100
n ← n + 1
Fin Tant que
Afficher n
Python
def seuil(A):
n = 0
c = 1000
while c <= A:
c = 1.03*c + 100
n = n + 1
return n
TI-82
:Prompt A
:0→N
:1000→C
:TantQue C⩽A
:1.03C+100→C
:N+1→N
:Fin
:Disp N
| n | 0 | 1 | 2 | … | 7 | 8 |
|---|---|---|---|---|---|---|
| 1000 | 1130 | 1263,9 | … | 1996,12 | 2156,0 | |
| oui | oui | oui | … | oui | non |
seuil(2000) renvoie
. Interprétation :
correspond à l’année 2026 + 8 : le capital dépasse
€ en 2034.
Pack 2 – suite décroissante : passer sous un seuil
Une population compte
individus ; chaque année, elle perd 8 % de ses membres puis
individus arrivent :
et
. On admet que
est décroissante et converge vers
. Au bout de combien d’années la population passera-t-elle sous
?
Algorithme
n ← 0 ; p ← 3000
Tant que p ⩾ 1300
p ← 0,92 p + 100
n ← n + 1
Fin Tant que
Afficher n
Python
def annees():
n = 0
p = 3000
while p >= 1300:
p = 0.92*p + 100
n = n + 1
return n
TI-82
:0→N
:3000→P
:TantQue P⩾1300
:0.92P+100→P
:N+1→N
:Fin
:Disp N
Résultat :
(
et
). Pourquoi la boucle s’arrête :
, donc
finit par passer sous
. Avec un seuil de
, la boucle ne s’arrêterait jamais, puisque
pour tout
!
Pack 3 – comparer deux suites
D’après Bac Centres étrangers, 13 juin 2025, sujet 2, exercice 1.
Deux populations (en milliers) :
,
(milieu A) et
,
(milieu B), au 1er janvier 2025 +
. On sait que
et que
pour tout
. En quelle année la population B dépasse-t-elle la population A ?
Algorithme
n ← 0 ; u ← 6 ; v ← 6
Tant que v ⩽ u
u ← 0,93 u
v ← −0,05 v² + 1,1 v
n ← n + 1
Fin Tant que
Afficher 2025 + n
Python
def annee():
n = 0
u, v = 6, 6
while v <= u:
u = 0.93*u
v = -0.05*v**2 + 1.1*v
n = n + 1
return 2025 + n
TI-82
:0→N
:6→U
:6→V
:TantQue V⩽U
:0.93U→U
:-0.05V^2+1.1V→V
:N+1→N
:Fin
:Disp 2025+N
Ici les deux mises à jour sont indépendantes (
ne dépend que de
,
que de
) : l’ordre des deux lignes n’a pas d’importance.
Résultat : 2038 (
mais
). Pourquoi la boucle s’arrête :
, donc à partir d’un certain rang
.
2. Sur la TI-82 sans programme : le seuil à la table
On entre la suite en mode Suite (chapitre 2) : u(n)=1.03u(n-1)+100, u(nMin)=1000, puis on fait défiler la table (2nde graphe) :
et
.
Rédaction attendue au bac
« À l’aide de la calculatrice,
et
. Comme la suite est croissante, le rang cherché est
, soit l’année 2034. »
Les quatre erreurs classiques
- Mauvaise condition : on écrit la condition pour continuer, pas celle pour s’arrêter : pour obtenir
, c’est while u <= A. - Oublier
n = n + 1: le programme renvoie 0, ou tourne sans fin. - Confondre
et l’année (ou le mois) : toujours interpréter le résultat dans le contexte. - Ne pas justifier l’arrêt de la boucle : il faut citer la limite de la suite.
3. À vous de jouer
Exercice 1 · À vous de jouer ★★★
Algorithme + Python + TI-82.
- Soit
et
. Déterminer le plus petit
tel que
. Justifier que la boucle s’arrête. - Soit
. On admet que
. Écrire un programme renvoyant le plus petit
tel que
et le tester avec
. (Attention à l’ordre des lignes !) - Un médicament : la quantité dans le sang vérifie
et
(en mg,
en heures). Au bout de combien d’heures la quantité devient-elle inférieure à 1 mg ? - Une voiture achetée
€ perd 15 % de sa valeur chaque année. Au bout de combien d’années vaudra-t-elle moins de la moitié de son prix ? Répondre avec un programme, puis avec la table de la TI. - Un site compte
abonnés ; chaque mois il en perd 5 % et en gagne
:
,
. On admet que
est croissante de limite
. Déterminer le premier mois où le site dépasse
abonnés. Pourquoi un programme cherchant le premier mois où
ne s’arrêterait-il jamais ?
Corrigé
1. La suite géométrique de raison
tend vers
, donc la boucle s’arrête.
⇝ ![]()
2. H = 0, n = 0, while H <= A: puis n = n + 1 avant H = H + 1/n ; seuil(5) renvoie 83.
3.
et
; la boucle s’arrête car
.
⇝ 9 heures
4.
€ et
€.
⇝ 5 ans
5.
,
, donc
. On a
pour tout
(la suite est croissante de limite
), donc la condition
n’est jamais réalisée.
⇝ 41e mois
Télécharger le chapitre en PDF
Pour réviser sur papier, téléchargez le chapitre complet au format PDF (avec les réponses des exercices).
