Fiche récapitulative générée pour impression / export PDF.

3ème · Algorithmique et programmation

La boucle « tant que »

Introduction

En 4ème, on a utilisé la boucle « répéter nn fois », où l'on connaît à l'avance le nombre exact de répétitions. Mais parfois, on ne sait pas combien de répétitions seront nécessaires : on veut simplement continuer tant qu'une condition reste vraie.

La boucle « tant que »

📌 Méthode

La boucle tant que (condition) faire ... fin tant que répète les instructions à l'intérieur aussi longtemps que la condition est vraie. Avant chaque répétition, on teste la condition : si elle est fausse, la boucle s'arrête immédiatement.

Différence essentielle avec « répéter nn fois » :


BoucleNombre de répétitionsCondition d'arrêt
|---|---|---|


Répéter nn foisConnu à l'avanceAprès nn tours
Tant queInconnu à l'avanceQuand la condition devient fausse

⚠️ Attention : il faut toujours s'assurer que la condition deviendra fausse à un moment donné (par exemple en modifiant une variable à chaque tour), sinon la boucle ne s'arrête jamais (boucle infinie).

Exemple de structure

variable nn prend la valeur 11

tant que n<5n < 5 faire :

\quad afficher nn

\quad nn prend la valeur n+1n+1

fin tant que

Exemples

✅ Exemple simple — Compter jusqu'à un seuil

On initialise n=0n=0. Tant que n<4n < 4, on affiche nn puis on l'augmente de 11.

Déroulement : n=0n=0 (affiché, 0<40<4) n=1\to n=1 (affiché, 1<41<4) n=2\to n=2 (affiché, 2<42<4) n=3\to n=3 (affiché, 3<43<4) n=4\to n=4 : la condition 4<44<4 est fausse, la boucle s'arrête.

Le programme affiche : 0,1,2,30, 1, 2, 3.

📘 Exemple intermédiaire — Trouver le premier multiple de 7 supérieur à 50

On initialise n=0n=0. Tant que n50n \leq 50, on ajoute 77 à nn.

Déroulement (valeurs de nn) : 07142128354249560 \to 7 \to 14 \to 21 \to 28 \to 35 \to 42 \to 49 \to 56.

Dès que n=56n=56, la condition n50n \leq 50 devient fausse : la boucle s'arrête. Réponse : 5656 est le premier multiple de 77 strictement supérieur à 5050.

🔴 Exemple avancé — Boucle infinie à éviter

variable nn prend la valeur 11

tant que n>0n > 0 faire :

\quad afficher nn

fin tant que

Ici, nn reste toujours égal à 11 (on ne le modifie jamais à l'intérieur de la boucle), donc la condition n>0n>0 est toujours vraie : la boucle ne s'arrêtera jamais. Il manque une instruction du type « nn prend la valeur n1n-1 » pour que nn finisse par atteindre 00.

À retenir

- La boucle « tant que » répète des instructions tant qu'une condition reste vraie, sans connaître à l'avance le nombre de répétitions.
- La condition est testée avant chaque répétition : dès qu'elle est fausse, la boucle s'arrête.
- Il faut toujours faire évoluer une variable à l'intérieur de la boucle pour garantir que la condition finira par être fausse, sinon on obtient une boucle infinie.

Exercices de la leçon

Exercice 1

Quelle est la différence principale entre « répéter nn fois » et « tant que » ?

Corrigé

La boucle « tant que » continue jusqu'à ce qu'une condition devienne fausse, sans que l'on connaisse à l'avance le nombre exact de répétitions.

Exercice 2

Une boucle « tant que » dont la condition reste toujours vraie est une boucle infinie.

Corrigé

Si la condition ne devient jamais fausse (souvent car une variable n'évolue pas), la boucle continue indéfiniment : c'est une boucle infinie, à éviter.

Exercice 3

On initialise n=0n=0 et on répète « nn prend la valeur n+3n+3 » tant que n<10n<10. Quelle est la dernière valeur de nn affichée avant l'arrêt de la boucle (en supposant qu'on affiche nn avant le test) ?

Corrigé

Déroulement : 0,3,6,90,3,6,9 sont tous <10<10 et donc affichés. Après 99, nn devient 1212, et 12<1012<10 est faux : la boucle s'arrête. La dernière valeur affichée est 99.

Exercice 4

Pour qu'une boucle « tant que » s'arrête un jour, que doit-il se passer ?

Corrigé

Une boucle « tant que » ne s'arrête que lorsque sa condition devient fausse ; il faut donc qu'une variable testée dans la condition évolue vers cet état.

Exercice 5

Écris (en pseudo-code) un algorithme utilisant une boucle « tant que » qui trouve le premier multiple de 44 strictement supérieur à 3030, puis explique son déroulement.

Corrigé

On utilise une variable accumulatrice augmentée de 44 à chaque tour, et une condition d'arrêt basée sur le seuil 3030 ; la boucle s'arrête dès que nn dépasse ce seuil.

AlphaMath Académie · La boucle « tant que » · Algorithmique et programmation