NSI · Première

La boucle while

Répéter des instructions en boucle tant qu'une condition logique reste vérifiée et savoir tracer le déroulement pas à pas.

La boucle while

La notion de boucle est fondamentale en informatique. Une boucle permet de répéter l'exécution d'instructions qui ne sont écrites qu'une seule fois dans le code.

La structure de la boucle conditionnelle while (tant que) est la suivante :

Python
1
2
3
4
5
while expression:
instruction1
instruction2
suite_programme

Tant que l'expression de condition s'évalue à True, les instructions à l'intérieur du bloc indenté sont exécutées. Dès que la condition devient False, le programme sort de la boucle et exécute les lignes situées après.

Tracer une boucle pas à pas

Considérons le programme suivant :

Python
1
2
3
4
5
6
i = 0
while i < 3:
print(i)
i = i + 1
print("FIN")

Voici comment analyser et tracer l'exécution de ce programme tape par étape :

  1. Initialisation : La variable i commence avec la valeur 0.
  2. 1er tour de boucle : L'expression i < 3 (0 < 3) est True. On entre dans la boucle :
  • On affiche i (donc 0).
  • On incrémente : i = i + 1 (donc i vaut désormais 1).
  1. 2e tour de boucle : L'expression i < 3 (1 < 3) est True. On poursuit :
  • On affiche i (donc 1).
  • On incrémente : i vaut désormais 2.
  1. 3e tour de boucle : L'expression i < 3 (2 < 3) est True :
  • On affiche i (donc 2).
  • On incrémente : i vaut désormais 3.
  1. 4e test : L'expression i < 3 (3 < 3) est False. Le programme n'entre pas dans la boucle. Il passe directement à la ligne suivante non indentée.
  2. Sortie : On exécute print("FIN") et le script s'arrête.

Le résultat affiché dans la console est donc :

Python
1
2
3
4
0
1
2
FIN
À retenir / Remarque

Importance du traçage

Savoir exécuter mentalement et tracer pas à pas l'état d'un compteur ou de variables d'une boucle est une compétence essentielle pour éviter de créer des boucles infinies qui bloquent les machines.

Activité

Activité 38 : Comptage dynamique

Observez le script suivant :

Python
1
2
3
4
5
6
i = 0
while i < 10:
print(f"i vaut : {i}")
i = i + 1
print("C'est terminé.")

Quel est le résultat attendu après l'exécution de ce programme ? Validez votre intuition en testant le programme dans votre éditeur.

Avez-vous compris ce chapitre ?

Cochez-le pour l'enregistrer dans votre progression d'apprentissage.