Aurlom
    Maths
    Suites & Algo·Chapitre 06

    Algorithmique : lecture, exécution et seuils

    20 min de lecture Fréquence aux annales : 1/4Rapporte 1-2 pts

    Algorithme de seuil — boucle « tant que »
    Exemple : u₀ = 100 · f(u) = u × 1,05 · seuil = 130
    n = compteur de tours (départ à 0). u = terme courant de la suite, initialisé à u₀.INITIALISATIONn ← 0 u ← u₀Condition de poursuite : tant que u est strictement plus petit que le seuil, on continue à itérer.TESTu < seuil ?nonCondition de sortie : on quitte la boucle dès que u ≥ seuil, et on renvoie n (le rang cherché).retour nouiOn incrémente n (un tour de plus) puis on met à jour u via la formule de récurrence u ← f(u).ITÉRATIONn ← n+1 u ← f(u)
    Étape 1·Initialisation

    On prépare les variables avant la boucle. Ici n démarre à 0 (compteur de tours) et u prend sa valeur de départ u₀.

    État · pas 1/15
    n = 0u = 100.00
    n ← 0, u ← 100

    Clique sur un bloc pour lire son rôle, ou utilise « Pas suivant » pour exécuter l'algo étape par étape.

    0. Rappels indispensables

    0.1 Qu'est-ce qu'un algorithme ?

    Un algorithme est une suite d'instructions à exécuter dans un ordre précis pour obtenir un résultat. C'est en quelque sorte une « recette de cuisine » mathématique.

    Exemple simple : « Pour calculer la somme de deux nombres :

    1. Demander le premier nombre, l'appeler aa
    2. Demander le deuxième nombre, l'appeler bb
    3. Calculer s=a+bs = a + b
    4. Afficher ss »

    0.2 Variables

    Une variable est une « case mémoire » qui stocke une valeur. On peut :

    • lui affecter une valeur (signe ← ou :=)
    • la lire (utiliser sa valeur dans un calcul)
    • la modifier (lui affecter une nouvelle valeur)

    Exemple :

    n ← 5            # n vaut 5
    n ← n + 1        # n vaut maintenant 6
    

    0.3 Symboles utilisés

    SymboleSignification
    ← ou :=Affectation
    = ou ==Test d'égalité
    ≤, <, ≥, >Comparaisons
    *Multiplication
    /Division

    1. Structures de base

    1.1 Affectation

    Donne une valeur à une variable.

    N ← 0
    U ← 663
    

    Après ces lignes : NN vaut 00 et UU vaut 663663.

    1.2 Boucle « Tant que »

    Répète des instructions tant qu'une condition est vraie.

    Tant que condition
        instructions
    Fin Tant que
    

    Fonctionnement :

    1. Tester la condition
    2. Si vraie : exécuter les instructions, puis retester
    3. Si fausse : sortir de la boucle

    1.3 Boucle « Pour »

    Répète des instructions un nombre fixé de fois.

    Pour i allant de 1 à 10
        instructions
    Fin Pour
    

    1.4 Test conditionnel « Si »

    Si condition
        instructions
    Sinon
        autres instructions
    Fin Si
    

    2. Exécution pas à pas d'un algorithme

    2.1 La méthode du tableau

    Pour exécuter un algorithme à la main, on construit un tableau avec une ligne par variable et une colonne par étape.

    Exemple :

    N ← 0
    U ← 100
    Tant que U < 200
        N ← N + 1
        U ← 1,2 × U
    Fin Tant que
    
    ÉtapeNNUUU<200U < 200 ?
    Init0100Oui
    111,2×100=1201{,}2 \times 100 = 120Oui
    221,2×120=1441{,}2 \times 120 = 144Oui
    331,2×144=172,81{,}2 \times 144 = 172{,}8Oui
    441,2×172,8=207,361{,}2 \times 172{,}8 = 207{,}36Non (sortie)

    À la sortie : N=4N = 4 et U≈207,36U \approx 207{,}36.

    2.2 Conseil pratique

    • Toujours mettre à jour les variables dans l'ordre où elles apparaissent dans la boucle
    • Tester la condition après chaque mise à jour complète
    • Marquer en gras la ligne où la condition devient fausse

    3. Algorithme de seuil pour une suite (cas BTS CG 2024)

    3.1 Principe

    L'algorithme de seuil cherche le plus petit rang nn tel que unu_n dépasse (ou descende sous) un seuil donné.

    3.2 Cas BTS CG 2024 (Partie C)

    N ← 0
    U ← 663
    Tant que U ≤ 100 000
        N ← N + 1
        U ← 1,3 × U
    Fin Tant que
    Afficher N
    

    Que fait cet algorithme ?

    Il cherche le premier NN tel que uN>100 000u_N > 100\,000, où la suite (un)(u_n) est définie par u0=663u_0 = 663 et un+1=1,3×unu_{n+1} = 1{,}3 \times u_n.

    Exécution (résumé) :

    NNUU
    0663
    1862
    21 121
    ......
    19≈98 302\approx 98\,302
    20≈127 793\approx 127\,793 ✓ (sortie)

    À la sortie : N=20N = 20.


    4. Compléter un algorithme à trous

    4.1 Identifier les éléments à compléter

    Au BTS CG 2024, l'algorithme était présenté avec des trous :

    N ← 0
    U ← 663
    Tant que .........
        N ← .......
        U ← 1,3 × U
    Fin Tant que
    Afficher N
    

    4.2 Démarche

    Étape 1 : identifier ce que cherche l'algorithme (par exemple : « trouver le rang à partir duquel le nombre de téléchargements dépasse 100 000 »).

    Étape 2 : identifier la condition de boucle :

    • « tant que c'est encore en dessous du seuil » → U ≤ 100 000 (ou U < 100 000)
    • Si on cherche à descendre sous un seuil : U ≥ seuil (ou U > seuil)

    Étape 3 : identifier l'incrémentation :

    • Pour avancer d'un rang : N ← N + 1

    Étape 4 : vérifier que l'algorithme s'arrête bien (la condition doit pouvoir devenir fausse).


    5. Méthodes-types

    🔧 MÉTHODE 1 — Exécuter un algorithme à la main

    Démarche :

    1. Lister les variables et leurs valeurs initiales
    2. Construire un tableau avec une ligne par étape
    3. Exécuter chaque instruction de la boucle
    4. À chaque tour, tester la condition : continuer ou sortir
    5. Donner la valeur finale des variables demandées

    🔧 MÉTHODE 2 — Identifier ce que fait un algorithme

    Démarche :

    1. Repérer la suite étudiée (formule de récurrence, exemple : U←1,3×UU \leftarrow 1{,}3 \times U → suite géométrique de raison 1,31{,}3)
    2. Repérer le seuil (dans la condition de la boucle)
    3. Conclure : « L'algorithme cherche le plus petit NN tel que uN>seuilu_N > \text{seuil}. »

    🔧 MÉTHODE 3 — Compléter une condition de boucle

    Démarche :

    1. Identifier le but (dépasser un seuil, descendre sous un seuil)
    2. Si l'algorithme doit s'arrêter dès que U>seuilU > \text{seuil} : la condition de boucle est U ≤ seuil
    3. Si l'algorithme doit s'arrêter dès que U<seuilU < \text{seuil} : la condition de boucle est U ≥ seuil

    🔧 MÉTHODE 4 — Interpréter le résultat

    Démarche :

    1. Lire l'énoncé pour comprendre ce que représentent NN et UU
    2. Traduire la valeur finale dans le contexte
    3. Si NN représente un rang d'année ou de mois, le convertir en date réelle

    6. Notice : utiliser la calculatrice pour un algorithme

    6.1 TI-83 Premium CE

    • Appuyer sur prgm → NOUV → entrer le nom du programme
    • Saisir l'algorithme avec prgm → choisir les commandes (While, End, etc.)
    • Exécuter avec prgm → choisir le programme

    6.2 NumWorks

    • Application Python
    • Écrire l'algorithme :
    N = 0
    U = 663
    while U <= 100000:
        N = N + 1
        U = 1.3 * U
    print(N)
    
    • Exécuter en cliquant sur Run

    6.3 Casio Graph

    • Menu PRGM → créer un programme
    • Saisir avec les commandes équivalentes

    6.4 Astuce universelle (sans programmation)

    On peut utiliser le mode tableau (TBL) avec la suite et faire défiler les valeurs jusqu'à dépasser le seuil. C'est rapide et fiable, sans avoir besoin de programmer.


    Exercices progressifs

    Trois niveaux pour progresser pas à pas. Le corrigé est masqué — essaie d'abord, puis dévoile-le.

    FacileIntermédiaireDifficile
    FacileNiveau 1 · Application

    Exercice ? — � Exercice 1 — Exécution simple

    Énoncé

    On considère l'algorithme suivant :

    N ← 0
    U ← 200
    Tant que U > 50
        N ← N + 1
        U ← 0,8 × U
    Fin Tant que
    Afficher N
    
    1. Exécuter l'algorithme et donner les valeurs successives de NN et UU.
    2. Quelles sont les valeurs finales de NN et UU ?
    3. Que cherche cet algorithme ?
    IntermédiaireNiveau 2 · Type BTS

    Exercice ? — � Exercice 2 — Type BTS — d'après BTS CG 2024 (Partie C)

    Énoncé

    Une entreprise modélise le nombre de téléchargements mensuels d'une application par la suite u0=663u_0 = 663 et un+1=1,3unu_{n+1} = 1{,}3 u_n. Elle pourra candidater à un challenge dès que le nombre de téléchargements dépasse 100 000100\,000.

    L'algorithme suivant est proposé pour trouver le rang NN correspondant :

    N ← 0
    U ← 663
    Tant que .........
        N ← .......
        U ← 1,3 × U
    Fin Tant que
    Afficher N
    
    1. Compléter les deux lignes manquantes.

    2. Exécuter l'algorithme partiellement (premières et dernières étapes) et donner la valeur finale de NN.

    3. Interpréter : à partir de quel mois après mai 2023 l'entreprise pourra-t-elle candidater ?

    DifficileNiveau 3 · Approfondissement

    Exercice ? — � Exercice 3 — Approfondissement

    Énoncé

    Un magasin observe que sa clientèle décroît selon le modèle u0=5 000u_0 = 5\,000 et un+1=0,93unu_{n+1} = 0{,}93 u_n (perte de 7%7\% par an).

    Le directeur veut savoir au bout de combien d'années le nombre de clients passera sous la barre des 3 000.

    1. Écrire un algorithme qui répond à cette question.
    2. Exécuter l'algorithme à la main (ou à la calculatrice).
    3. Donner la valeur finale de NN.
    4. Modifier l'algorithme pour qu'il cherche le rang où on passe sous 2 000 clients.
    5. Modifier l'algorithme pour qu'au lieu de chercher un seuil, il calcule la somme cumulée des clients perdus sur 10 ans.

    9. Fiche de synthèse


    10. Pour aller plus loin

    Le chapitre 7 entamera le bloc Probabilités avec les probabilités conditionnelles et les arbres pondérés, notion incontournable du BTS CG (4 sessions sur 4 !).