Première

Première NSI

Numérique et sciences informatiques

CoursDans la progressionTélécharger le PDF

Boucles non bornées

Répéter des instructions avec while, suivre l'évolution des variables et comprendre pourquoi une boucle s'arrête.

Nous savons déjà exécuter des instructions et choisir un traitement avec if. Nous allons maintenant apprendre à répéter un traitement tant qu'une condition est vraie.

Pour ce chapitre, il faut savoir utiliser les variables, les opérateurs, les fonctions et les instructions conditionnelles.

I. Définitions

On l'utilise notamment lorsque le nombre de répétitions n'est pas connu à l'avance : redemander une saisie jusqu'à ce qu'elle soit valide, ou poursuivre un calcul jusqu'à atteindre un seuil.

II. Écrire une boucle avec while

A. Syntaxe en Python

En Python, le mot-clé while se lit « tant que ». Il est suivi d'une condition, puis de deux-points :. Le corps est indenté, généralement de quatre espaces.

Les deux instructions indentées sont répétées. L'affichage de "Arrivée", placé après la boucle, n'a lieu qu'une fois.

B. Déroulement de l'exécution

  1. Le programme initialise les variables nécessaires avant la boucle.
  2. Il évalue la condition.
  3. Si elle est vraie, il exécute tout le corps, puis revient tester la condition.
  4. Si elle est fausse, il passe à la première instruction située après la boucle.

La condition est donc testée avant chaque itération. Elle n'est pas retestée entre les instructions du corps.

La flèche qui revient vers le test représente la répétition.

C. Si la condition est fausse dès le départ

III. Construire une trace d'exécution

Une trace permet de suivre les valeurs des variables et les résultats des tests. Elle doit aussi montrer le dernier test, celui qui provoque la sortie.

Reprenons l'exemple de la distance :

Test de la conditionValeur de distance avant le testRésultat de distance < 12Action
10Truedistance devient 4 ; afficher 4
24Truedistance devient 8 ; afficher 8
38Truedistance devient 12 ; afficher 12
412FalseSortir de la boucle

Après la sortie, le programme affiche "Arrivée".

IV. Distinguer if et while

if et while utilisent tous les deux une condition, mais ils n'ont pas le même rôle.

Avec ifAvec while
Le bloc est exécuté au plus une fois lorsque le programme atteint cette instruction.Le bloc peut être répété plusieurs fois.
Après le bloc, l'exécution continue à la suite.Après le corps, l'exécution revient vers le test de la boucle.

À retenir

Poursuivre avec les exercices sur les boucles non bornées.

Retour en haut ↑