Le principe
On part du premier terme et on avance dans la suite, un terme à la fois, en comptant les étapes — tant que la cible n'est pas atteinte. Exemple avec un capital de 1000 € placé à 5 % par an, c'est-à-dire la suite géométrique :
On cherche le plus petit n tel que uₙ ≥ cible.
Le code Python
def seuil(cible):
u = 1000 # terme initial u0
n = 0 # rang courant
while u < cible: # tant que le seuil n'est pas atteint
u = u * 1.05 # on passe au terme suivant
n = n + 1 # on compte une étape
return nTrois ingrédients indispensables : la condition while u < cible (on continue tant que le seuil n'est pas atteint), la mise à jour de la suite u = u * 1.05 et le comptage n = n + 1. Oublier l'un des deux derniers donne une boucle infinie ou un compteur qui reste à zéro.
À toi de coder
Choisis l'exercice « Dépassement de seuil » dans l'atelier, complète la boucle while, puis visualise u et n grandir tour par tour jusqu'au franchissement du seuil.
Questions fréquentes
À quoi sert un algorithme de seuil ?
Il renvoie le plus petit rang n à partir duquel une suite dépasse (ou descend sous) une valeur cible : par exemple combien d'années pour qu'un capital atteigne un montant, ou à partir de quand une suite passe sous une précision. C'est un grand classique du chapitre sur les suites.
Pourquoi une boucle while plutôt qu'une boucle for ?
On ne connaît pas d'avance le nombre d'étapes nécessaires : on répète justement jusqu'à ce que le seuil soit franchi. C'est exactement le cas d'usage de while, qui tourne tant que sa condition reste vraie.
Pourquoi initialiser n à 0 ?
Au départ, aucune étape n'a été faite et u vaut u0. Si la cible est déjà atteinte, la boucle ne tourne pas et on renvoie 0, ce qui est correct. Chaque tour fait avancer la suite (u) et incrémente le compteur (n) ensemble.
Comment éviter une boucle infinie ?
Il faut qu'à chaque tour quelque chose se rapproche de la condition d'arrêt. Pour une suite croissante vers la cible, c'est le cas. Attention : si la suite ne dépasse jamais la cible (par exemple une suite décroissante ou convergente sous le seuil), la boucle ne s'arrêterait pas — il faut s'assurer que le seuil est bien atteignable.
Pour le cours complet sur les suites et les autres algorithmes du bac :