Les boucles : répéter des instructions

BTS SIO — Première année · Séance 2 · 1 heure

Objectif

Lire et écrire une répétition, suivre les valeurs des variables, comprendre quand une boucle s'arrête.

Rappel : les variables et les conditions

Lecture collective

stock ← 2
stock ← stock + 1
Si stock ≥ 3 Alors
    Afficher "Commande prête"
FinSi

Questions

  • Que signifie ← ?
  • Quelle valeur contient stock après les deux premières lignes ?
  • Le message "Commande prête" apparaît-il ?

Répéter une même action

Sans boucle — pour 5 postes

Afficher 1
Afficher 2
Afficher 3
Afficher 4
Afficher 5

Et pour 100 postes ?

Réécrire cent lignes serait absurde. Une boucle permet de répéter un bloc d'instructions automatiquement, autant de fois que nécessaire.

La boucle Pour : un nombre de répétitions connu

Pour i allant de 1 à 5 Faire
    Afficher i
FinPour

À retenir

  • i est le compteur : il prend les valeurs 1, 2, 3, 4, 5.
  • Les bornes sont incluses ; i augmente automatiquement de 1.
  • Chaque passage dans la boucle s'appelle une itération.
  • ⚠️ Ne pas écrire i ← i + 1 dans cette boucle.

Trace de la boucle Pour

À chaque passage, l'ordinateur exécute le bloc avec la valeur courante de i.

Accumuler un total

total ← 0
Pour carton allant de 1 à 3 Faire
    total ← total + 4
FinPour
Afficher total

Trace du total

total est un accumulateur : initialiser une seule fois avant la boucle.

Exercice : compter les souris 🖱️

Contexte

Un carton contient 6 souris. On reçoit 4 cartons.

Consigne

Écrire un algorithme avec Pour pour calculer puis afficher le nombre total de souris.

Contraintes

  • Initialiser total avant la boucle
  • Afficher le résultat après la boucle
  • Préparer la trace du total après chaque carton

Correction : compter les souris

total ← 0
Pour carton allant de 1 à 4 Faire
    total ← total + 6
FinPour
Afficher total

Résultat final : 24 souris.

Trace

La boucle Tant que : répéter sous une condition

Lire quantite
Tant que quantite < 1 Faire
    Afficher "Saisir une quantité
             d'au moins 1"
    Lire quantite
FinTantQue
Afficher "Quantité acceptée"

Points clés

  • La condition est testée avant chaque passage.
  • Le bloc peut s'exécuter zéro fois si la première saisie est valide.
  • La nouvelle saisie fait évoluer la valeur testée.

Ici : on redemande la quantité tant qu'elle est inférieure à 1.

Trace : des saisies successives

L'utilisateur saisit successivement 0, puis −2, puis 3.

Le bloc s'exécute deux fois. Il y a trois saisies en tout, dont la première avant la boucle.

La boucle qui ne s'arrête pas ⚠️

Code incorrect

quantite ← 0
Tant que quantite < 1 Faire
    Afficher "Quantité incorrecte"
FinTantQue

Analyse

quantite ne change jamais → la condition reste toujours Vraie → boucle infinie.

Correction : ajouter Lire quantite dans le bloc pour que l'utilisateur puisse fournir une valeur valide.

Exercice : un compte à rebours ⏳

Point de départ

compteur ← 3

À compléter

Utiliser Tant que pour afficher 3, 2, 1, puis afficher "Prêt" une seule fois après la boucle.

Compléter : le test, l'affichage du compteur, et sa mise à jour.

Question

Quelle valeur contient compteur à la sortie de la boucle ?

Correction et choix de la boucle

compteur ← 3
Tant que compteur > 0 Faire
    Afficher compteur
    compteur ← compteur - 1
FinTantQue
Afficher "Prêt"

Valeurs affichées : 3, 2, 1, puis Prêt.
À la sortie, compteur vaut 0.

Quand utiliser quelle boucle ?

Pour

Nombre de passages connu à l'avance

Tant que

Répétition dépend d'une condition

Ticket de sortie ✏️

Individuellement — 5 minutes

1

Combien de valeurs affiche ce code ?

Pour i allant de 1 à 4 Faire
    Afficher i
FinPour
2

Quelle valeur finale contient total ?

total ← 0
Pour i allant de 1 à 3 Faire
    total ← total + 2
FinPour
3

Pour redemander une quantité invalide, quelle boucle choisir ?

4

Pourquoi faut-il faire évoluer la valeur testée dans un Tant que ?