Algorithmique Terminale – Chapitre 4 : rechercher un seuil (Python et TI-82)

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 n tel que u_n>A (ou u_n<A, ou u_n\geqslant A…). On ne sait pas combien de tours faire : on utilise une boucle Tant que et un compteur n.

  • La condition de la boucle est le contraire de ce que l’on cherche : pour obtenir u_n>A, on répète tant que u\leqslant A.
  • À chaque tour : on calcule le terme suivant et on augmente le compteur de 1. À la sortie, on affiche (ou on renvoie) n.
  • Pourquoi la boucle s’arrête-t-elle ? C’est l’argument attendu au bac : si \lim u_n=+\infty, alors u_n finit par dépasser n’importe quel réel A ; si \lim u_n=\ell<A… la boucle « u_n>A » ne s’arrêterait jamais !

1. Trois situations types

Pack 1 – suite qui tend vers +∞ : un placement

Léna place 1\,000 € au 1er janvier 2026. Chaque année, le capital augmente de 3 %, puis elle ajoute 100 €. On note c_n le capital au 1er janvier 2026 + n : c_0=1\,000 et c_{n+1}=1{,}03\,c_n+100. On admet que (c_n) est croissante et tend vers +\infty. En quelle année le capital dépassera-t-il A=2\,000 € ?

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
n012…78
c_n100011301263,9…1996,122156,0
c_n\leqslant 2000 ?ouiouioui…ouinon

seuil(2000) renvoie 8. Interprétation : n=8 correspond à l’année 2026 + 8 : le capital dépasse 2\,000 € en 2034.

Pack 2 – suite décroissante : passer sous un seuil

Une population compte 3\,000 individus ; chaque année, elle perd 8 % de ses membres puis 100 individus arrivent : p_0=3\,000 et p_{n+1}=0{,}92\,p_n+100. On admet que (p_n) est décroissante et converge vers 1\,250. Au bout de combien d’années la population passera-t-elle sous 1\,300 ?

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 : 43 (p_{42}\approx 1\,302{,}7 et p_{43}\approx 1\,298{,}5). Pourquoi la boucle s’arrête : \lim p_n=1\,250<1\,300, donc p_n finit par passer sous 1\,300. Avec un seuil de 1\,200, la boucle ne s’arrêterait jamais, puisque p_n\geqslant 1\,250 pour tout n !

Pack 3 – comparer deux suites

D’après Bac Centres étrangers, 13 juin 2025, sujet 2, exercice 1.

Deux populations (en milliers) : u_0=6, u_{n+1}=0{,}93\,u_n (milieu A) et v_0=6, v_{n+1}=-0{,}05\,v_n^2+1{,}1\,v_n (milieu B), au 1er janvier 2025 + n. On sait que \lim u_n=0 et que v_n\geqslant 2 pour tout n. 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 (u ne dépend que de u, v que de v) : l’ordre des deux lignes n’a pas d’importance.

Résultat : 2038 (u_{12}\approx 2{,}512>v_{12}\approx 2{,}406 mais u_{13}\approx 2{,}336<v_{13}\approx 2{,}358). Pourquoi la boucle s’arrête : \lim u_n=0, donc à partir d’un certain rang u_n<2\leqslant v_n.

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) : u(7)\approx 1\,996{,}1 et u(8)\approx 2\,156{,}0.

Rédaction attendue au bac

« À l’aide de la calculatrice, c_7\approx 1\,996{,}1\leqslant 2\,000 et c_8\approx 2\,156{,}0>2\,000. Comme la suite est croissante, le rang cherché est n=8, 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 u_n>A, c’est while u <= A.
  • Oublier n = n + 1 : le programme renvoie 0, ou tourne sans fin.
  • Confondre n 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.

  1. Soit u_0=1 et u_{n+1}=1{,}5\,u_n. Déterminer le plus petit n tel que u_n>100. Justifier que la boucle s’arrête.
  2. Soit H_n=1+\dfrac{1}{2}+\dots+\dfrac{1}{n}. On admet que \lim H_n=+\infty. Écrire un programme renvoyant le plus petit n tel que H_n>A et le tester avec A=5. (Attention à l’ordre des lignes !)
  3. Un médicament : la quantité dans le sang vérifie q_0=20 et q_{n+1}=0{,}7\,q_n (en mg, n en heures). Au bout de combien d’heures la quantité devient-elle inférieure à 1 mg ?
  4. Une voiture achetée 10\,000 € 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.
  5. Un site compte 200 abonnés ; chaque mois il en perd 5 % et en gagne 50 : a_0=200, a_{n+1}=0{,}95\,a_n+50. On admet que (a_n) est croissante de limite 1\,000. Déterminer le premier mois où le site dépasse 900 abonnés. Pourquoi un programme cherchant le premier mois où a_n\geqslant 1\,000 ne s’arrêterait-il jamais ?
Corrigé

1. La suite géométrique de raison 1{,}5>1 tend vers +\infty, donc la boucle s’arrête.

⇝ n=12

2. H = 0, n = 0, while H <= A: puis n = n + 1 avant H = H + 1/n ; seuil(5) renvoie 83.

3. q_8\approx 1{,}15 et q_9\approx 0{,}81 ; la boucle s’arrête car \lim q_n=0<1.

⇝ 9 heures

4. v_4\approx 5\,220 € et v_5\approx 4\,437 €.

⇝ 5 ans

5. a_{40}\approx 897{,}2, a_{41}\approx 902{,}3, donc n=41. On a a_n<1\,000 pour tout n (la suite est croissante de limite 1\,000), donc la condition a_n\geqslant 1\,000 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).

Pour aller plus loin

Publications similaires