Définition
L'algorithme de seuil est une méthode itérative permettant de déterminer le plus petit rang $N$ (ou le plus grand) à partir duquel une suite $(u_n)$ vérifie une certaine condition (un seuil). Cette condition peut être $u_n > S$, $u_n < S$, $u_n \geq S$, ou $u_n \leq S$, où $S$ est une valeur donnée. Il s'agit généralement de trouver le premier terme de la suite qui dépasse ou atteint un certain seuil.
Méthode — Algorithme de seuil : trouver le rang N
Initialisation des variables
Définir les variables nécessaires : le terme courant de la suite (souvent noté $U$) et le rang courant (souvent noté $N$). Initialiser $U$ avec la valeur du premier terme de la suite ($u_0$ ou $u_1$) et $N$ avec le rang correspondant (0 ou 1).
Définition de la condition de boucle
Établir la condition qui doit être vérifiée tant que le seuil n'est pas atteint. Si l'on cherche le premier $N$ tel que $u_N > S$, la boucle 'TANT QUE' (ou 'WHILE') doit continuer tant que $U \leq S$. Si l'on cherche $u_N < S$, la boucle continue tant que $U \geq S$.
Mise à jour des variables dans la boucle
À l'intérieur de la boucle, mettre à jour le terme de la suite $U$ en utilisant la relation de récurrence $u_{n+1} = f(u_n)$ et incrémenter le rang $N$ de 1. C'est l'étape où l'on calcule le terme suivant et son rang.
Affichage du résultat
Une fois la boucle terminée (c'est-à-dire lorsque la condition de seuil est satisfaite), afficher la valeur du rang $N$ qui est le plus petit rang pour lequel la condition est vérifiée.
Exemple résolu
On considère la suite $(u_n)$ définie par $u_0 = 100$ et pour tout entier naturel $n$, $u_{n+1} = 0,9 u_n + 12$. On souhaite déterminer le plus petit entier naturel $N$ tel que $u_N \geq 115$.
- Initialisation: $U=100$, $N=0$. Condition $100 < 115$ est vraie.
- Tour 1: $U = 0,9 \times 100 + 12 = 90 + 12 = 102$. $N = 0 + 1 = 1$. Condition $102 < 115$ est vraie.
- Tour 2: $U = 0,9 \times 102 + 12 = 91,8 + 12 = 103,8$. $N = 1 + 1 = 2$. Condition $103,8 < 115$ est vraie.
- Tour 3: $U = 0,9 \times 103,8 + 12 = 93,42 + 12 = 105,42$. $N = 2 + 1 = 3$. Condition $105,42 < 115$ est vraie.
- Tour 4: $U = 0,9 \times 105,42 + 12 = 94,878 + 12 = 106,878$. $N = 3 + 1 = 4$. Condition $106,878 < 115$ est vraie.
- Tour 5: $U = 0,9 \times 106,878 + 12 = 96,1902 + 12 = 108,1902$. $N = 4 + 1 = 5$. Condition $108,1902 < 115$ est vraie.
- Tour 6: $U = 0,9 \times 108,1902 + 12 = 97,37118 + 12 = 109,37118$. $N = 5 + 1 = 6$. Condition $109,37118 < 115$ est vraie.
- Tour 7: $U = 0,9 \times 109,37118 + 12 = 98,434062 + 12 = 110,434062$. $N = 6 + 1 = 7$. Condition $110,434062 < 115$ est vraie.
- Tour 8: $U = 0,9 \times 110,434062 + 12 = 99,3906558 + 12 = 111,3906558$. $N = 7 + 1 = 8$. Condition $111,3906558 < 115$ est vraie.
- Tour 9: $U = 0,9 \times 111,3906558 + 12 = 100,25159022 + 12 = 112,25159022$. $N = 8 + 1 = 9$. Condition $112,25159022 < 115$ est vraie.
- Tour 10: $U = 0,9 \times 112,25159022 + 12 = 101,0264312 + 12 = 113,0264312$. $N = 9 + 1 = 10$. Condition $113,0264312 < 115$ est vraie.
- Tour 11: $U = 0,9 \times 113,0264312 + 12 = 101,72378808 + 12 = 113,72378808$. $N = 10 + 1 = 11$. Condition $113,72378808 < 115$ est vraie.
- Tour 12: $U = 0,9 \times 113,72378808 + 12 = 102,351409272 + 12 = 114,351409272$. $N = 11 + 1 = 12$. Condition $114,351409272 < 115$ est vraie.
- Tour 13: $U = 0,9 \times 114,351409272 + 12 = 102,9162683448 + 12 = 114,9162683448$. $N = 12 + 1 = 13$. Condition $114,9162683448 < 115$ est vraie.
- Tour 14: $U = 0,9 \times 114,9162683448 + 12 = 103,42464151032 + 12 = 115,42464151032$. $N = 13 + 1 = 14$. Condition $115,42464151032 < 115$ est fausse. La boucle s'arrête.
Le plus petit entier naturel $N$ tel que $u_N \geq 115$ est $N = 14$.
⚠️ Piège fréquent au BAC — Condition de boucle et initialisation
- Confondre la condition de la boucle 'TANT QUE' avec la condition du seuil. Si on cherche $u_N > S$, la boucle doit continuer TANT QUE $u_N \leq S$.
- Oublier d'initialiser correctement le rang $N$ (0 ou 1 selon l'énoncé) et le terme $U$ avec $u_0$ ou $u_1$.
- Inverser l'ordre des opérations dans la boucle : il faut d'abord mettre à jour $U$ puis $N$, ou l'inverse, en fonction de la manière dont la condition est testée et du rang que l'on souhaite obtenir (le rang du terme qui dépasse le seuil, ou le rang du terme *après* le seuil).
- Utiliser une boucle 'POUR' (FOR) au lieu de 'TANT QUE' (WHILE) : l'algorithme de seuil est par nature itératif et le nombre d'itérations est inconnu à l'avance, d'où l'usage de 'TANT QUE'.
Exercice type BAC
Une entreprise fabrique des composants électroniques. Le coût de production d'un composant dépend du nombre de composants déjà produits. On modélise le coût unitaire $C_n$ (en euros) du $n$-ième composant produit par la suite $(C_n)$ définie par $C_0 = 100$ (coût du premier composant) et pour tout entier naturel $n$, $C_{n+1} = 0,95 C_n + 2$.
- Calculer $C_1$ et $C_2$.
- On souhaite déterminer à partir de quel rang $N$ le coût unitaire $C_N$ devient inférieur à $50$ euros. Compléter l'algorithme suivant pour qu'il affiche ce rang $N$.
U = ... N = ... TANT QUE U ... 50 : U = ... N = ... AFFICHER N - Exécuter l'algorithme complété pour déterminer la valeur de $N$.
Calcul de $C_1$ et $C_2$ :
- $C_1 = 0,95 C_0 + 2 = 0,95 \times 100 + 2 = 95 + 2 = 97$.
- $C_2 = 0,95 C_1 + 2 = 0,95 \times 97 + 2 = 92,15 + 2 = 94,15$.
Complétion de l'algorithme :
On cherche le plus petit $N$ tel que $C_N < 50$. La boucle doit donc continuer tant que $C_N \geq 50$.
U = 100 N = 0 TANT QUE U >= 50 : U = 0.95 * U + 2 N = N + 1 AFFICHER NExécution de l'algorithme :
- Initialisation : $U=100$, $N=0$. Condition $100 \geq 50$ est vraie.
- Tour 1 : $U = 0,95 \times 100 + 2 = 97$. $N = 1$. Condition $97 \geq 50$ est vraie.
- Tour 2 : $U = 0,95 \times 97 + 2 = 94,15$. $N = 2$. Condition $94,15 \geq 50$ est vraie.
- Tour 3 : $U = 0,95 \times 94,15 + 2 = 89,4425 + 2 = 91,4425$. $N = 3$. Condition $91,4425 \geq 50$ est vraie.
- ... (on continue les calculs) ...
- Tour 20 : $U \approx 50,01$. $N = 20$. Condition $50,01 \geq 50$ est vraie.
- Tour 21 : $U = 0,95 \times 50,01 + 2 \approx 47,5095 + 2 = 49,5095$. $N = 21$. Condition $49,5095 \geq 50$ est fausse. La boucle s'arrête.
L'algorithme affiche $N = 21$. C'est donc à partir du 21ème composant que le coût unitaire devient inférieur à 50 euros.
Questions fréquentes
Pourquoi utilise-t-on une boucle 'TANT QUE' pour un algorithme de seuil ?
Comment choisir l'initialisation de $N$ (0 ou 1) ?
Que se passe-t-il si la suite n'atteint jamais le seuil ?
Comment adapter l'algorithme si on cherche le plus grand $N$ tel que $u_N < S$ ?
Pour aller plus loin
Vous bloquez sur ce chapitre ?
Adil accompagne les lycéens en Terminale Spécialité, en ligne ou à domicile dans le Val d'Oise. Résultats en 1 séance.