La boucle while - spé maths complémentaires - 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
   a ← a + 7
Fin Tant que


La boucle permet d’ajouter le nombre 7 à la variable a tant que celle-ci 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
   i ← i + 1
   a ← a + 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 !

 

quote blanc icon

Découvrez Maxicours

Exerce toi en t’abonnant

Fiches de cours les plus recherchées

Des profs en ligne

  • 6 j/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

Inscrivez-vous à notre newsletter !

Votre adresse e-mail sera exclusivement utilisée pour vous envoyer notre newsletter. Vous pourrez vous désinscrire à tout moment, à travers le lien de désinscription présent dans chaque newsletter. Conformément à la Loi Informatique et Libertés n°78-17 du 6 janvier 1978 modifiée, au RGPD n°2016/679 et à la Loi pour une République numérique du 7 octobre 2016, vous disposez du droit d’accès, de rectification, de limitation, d’opposition, de suppression, du droit à la portabilité de vos données, de transmettre des directives sur leur sort en cas de décès. Vous pouvez exercer ces droits en adressant un mail à : contact-donnees@sejer.fr. Vous avez la possibilité de former une réclamation auprès de l’autorité compétente. En savoir plus sur notre politique de confidentialité