La boucle while - Maxicours

La boucle while

Objectifs
  • Comprendre une instruction itérative non bornée.
  • Écrire une boucle non bornée de la forme « Tant que... faire... ».
Points clés
  • Dans un programme, on peut avoir besoin de répéter des actions similaires (calculs, affichages, etc.) un nombre inconnu de fois. On utilise alors une instruction appelée boucle non bornée ou boucle while.
  • La syntaxe pour écrire une boucle while non bornée en langage Python est :
    while <conditions>:
        <Instructions>
  • Pour déterminer le nombre de fois où l’instruction est réalisée, il suffit de créer une variable i initialisée à 0 à laquelle on ajoute 1 à chaque fois que les instructions sont réalisées. Cette variable est appelée compteur. La syntaxe en langage Python est :
    i=0
    while <conditions>:
        i=i+1
        <Instructions>
Pour bien comprendre
  • Variables numériques
  • Affectation d’une variable
1. Généralités sur la boucle while
a. Principe

Dans un programme, on peut avoir besoin de répéter des actions similaires (calculs, affichages, etc.) un nombre inconnu de fois. On utilise alors une instruction appelée boucle non bornée ou boucle while.

La syntaxe pour écrire une boucle while non bornée est :
Langage naturel Langage Python

Tant que <conditions>
   <Instructions>
Fin Tant que

while <conditions>:
   <Instructions>
Remarques
Avec une boucle while, on ne peut pas toujours prévoir le nombre de fois où les instructions seront réalisées pour avoir la réponse attendue, contrairement aux boucles for.
Tant que la condition est vérifiée, l’instruction est exécutée.
b. Exemple
Langage naturel Langage Python

a ← 0
Tant que a < 132
   aa + 7
Fin Tant que


La boucle permet d’ajouter le nombre 7 à la variable a tant qu'elle est strictement inférieure à 132. On peut résumer les étapes dans le tableau ci-dessous :
 Étapes   1 2 ... 18 19
 Valeurs prises par a 0 7 14 ... 126 133
En fait, ce programme cherche le plus petit multiple de 7 supérieur ou égal à 132. Le résultat affiché est alors 133.
Remarque
Voici les erreurs de saisie les plus classiques :
Oublier les deux points. Se tromper sur la condition. Pour avoir le plus petit multiple de 7 supérieur ou égal à 132, il est nécessaire de calculer les termes tant qu’ils sont strictement inférieurs à 132. Oublier ou effacer par mégarde la tabulation (indentation) de la ligne 3.
2. Utilisation de la boucle while
a. Création d'un compteur

Il est parfois utile de créer une variable qui détermine le nombre de fois où l’instruction est réalisée.

Pour cela, il suffit de créer une variable i initialisée à 0 à laquelle on ajoute 1 à chaque fois que les instructions sont réalisées. Cette variable est appelée compteur.
La syntaxe est la suivante :
Langage naturel Langage Python

i ← 0
Tant que <conditions> faire
   ii + 1
   <Instructions>
Fin Tant que

i=0
while <conditions>:
    i=i+1
   <Instructions>
Exemple
Langage naturel Langage Python

i ← 0
a ← 0
Tant que a < 16 faire
   ii + 1
   aa + 3
Fin Tant que


On peut résumer les étapes dans le tableau ci-dessous :
 Étapes   1 2 3 4 5 6
 Valeurs prises par i 0 1 2 3 4 5 6
 Valeurs prises par a 0 3 6 9 12 15 18
La boucle permet d'effectuer 6 fois les instructions. La variable i prend la valeur 6.
b. Choix des conditions et affichage des résultats

L’algorithme de l’exemple précédent permet de répondre à deux questions différentes :

  • Quel est le plus petit multiple de 3 supérieur ou égal à 16 ?

On remarque que pour trouver ce multiple supérieur ou égal à 16, on calcule tous les multiples de 3 tant qu’ils sont strictement inférieurs à 16.
Pour afficher la réponse, on affiche la valeur prise par la variable a grâce à l’instruction print(a).

Remarque
Le compteur i n’est pas utile ici, sauf pour la curiosité de savoir en combien de fois la réponse a été obtenue.
  • Combien existe-t-il d’entiers naturels multiples de 3 strictement inférieurs à 16 ?

On remarque dans le tableau ci-dessus que la réponse à la question est trouvée à l’étape 5 : il existe 5 entiers naturels multiples de 3 strictement inférieurs à 16. Comme a est toujours strictement inférieur à 16, les instructions sont lancées une nouvelle fois et les deux variables sont modifiées (étape 6). On doit donc afficher la valeur de i en enlevant l’étape 6 de la façon suivante :

Il faut être vigilant(e) lors du choix de la condition et lors de l’affichage des variables.

Vous avez déjà mis une note à ce cours.

Découvrez les autres cours offerts par Maxicours !

Découvrez Maxicours

Comment as-tu trouvé ce cours ?

Évalue ce cours !

 

Des profs en ligne

quote blanc icon

Découvrez Maxicours

Exerce toi en t’abonnant

Des profs en ligne

  • 6j/7 de 17 h à 20 h
  • Par chat, audio, vidéo
  • Sur les matières principales

Des ressources riches

  • Fiches, vidéos de cours
  • Exercices & corrigés
  • Modules de révisions Bac et Brevet

Des outils ludiques

  • Coach virtuel
  • Quiz interactifs
  • Planning de révision

Des tableaux de bord

  • Suivi de la progression
  • Score d’assiduité
  • Un compte Parent