Numérique et Sciences Informatiques > Algorithmique : Concepts de Base > Structures de Contrôle > Boucles (for, while)

Introduction aux Boucles : For et While

Apprenez à maîtriser les boucles `for` et `while`, des structures de contrôle essentielles pour répéter des instructions en algorithmique. Cette ressource pédagogique est conçue pour les élèves de lycée en Numérique et Sciences Informatiques.

Qu'est-ce qu'une Boucle ?

Les boucles sont des structures de contrôle fondamentales en programmation. Elles permettent d'exécuter un bloc de code plusieurs fois, sans avoir à écrire ce code de manière répétée. Imaginez que vous devez afficher les nombres de 1 à 10. Au lieu d'écrire 10 instructions `afficher(nombre)`, vous pouvez utiliser une boucle pour automatiser ce processus.

En résumé, une boucle, c'est comme un manège : elle répète un tour (le bloc de code) jusqu'à ce qu'une condition d'arrêt soit remplie.

La Boucle `for`

La boucle `for` est particulièrement utile lorsque vous connaissez à l'avance le nombre de fois que vous souhaitez répéter un bloc de code. Elle est généralement utilisée pour itérer sur une séquence de nombres, une liste, ou un tableau.

Structure générale :

pour variable allant de début à fin faire
  // Instructions à exécuter
fin pour


Exemple :
pour i allant de 1 à 5 faire
  afficher(i)
fin pour

Dans cet exemple, la variable `i` prendra successivement les valeurs 1, 2, 3, 4, et 5. L'instruction `afficher(i)` sera donc exécutée 5 fois, affichant chaque valeur de `i` à l'écran.

Analyse détaillée :
  • Initialisation : On définit une variable (ici, `i`) et on lui attribue une valeur de départ (ici, 1).
  • Condition : On vérifie si la variable est inférieure ou égale à une valeur finale (ici, 5). Tant que cette condition est vraie, la boucle continue.
  • Incrémentation : À la fin de chaque itération (tour de boucle), la variable est incrémentée (augmentée) d'une unité (ici, `i` est incrémentée par défaut de 1 à chaque tour).

La boucle `for` est donc idéale pour parcourir des éléments d'une collection ou pour répéter une action un nombre de fois connu.

La Boucle `while`

La boucle `while` est utilisée lorsque vous ne connaissez pas à l'avance le nombre de fois que vous devez répéter un bloc de code. Elle continue à s'exécuter tant qu'une condition spécifiée est vraie.

Structure générale :

tant que condition faire
  // Instructions à exécuter
fin tant que


Exemple :
nombre = 1
tant que nombre <= 5 faire
  afficher(nombre)
  nombre = nombre + 1
fin tant que

Dans cet exemple, la boucle continue tant que la variable `nombre` est inférieure ou égale à 5. À chaque itération, la valeur de `nombre` est affichée, puis incrémentée de 1. La boucle s'arrête lorsque `nombre` devient égal à 6.

Points importants :
  • Initialisation : Il est crucial d'initialiser la variable utilisée dans la condition avant d'entrer dans la boucle. Dans l'exemple, `nombre` est initialisé à 1.
  • Condition : La condition doit être soigneusement définie pour éviter une boucle infinie (une boucle qui ne s'arrête jamais).
  • Mise à jour : Assurez-vous que la condition finira par devenir fausse à un moment donné. Dans l'exemple, la variable `nombre` est incrémentée à chaque itération, ce qui permet à la condition `nombre <= 5` de devenir fausse après un certain nombre d'itérations.

La boucle `while` est donc particulièrement utile lorsque vous devez répéter une action jusqu'à ce qu'une certaine condition soit remplie, sans connaître le nombre d'itérations à l'avance.

Choisir la bonne Boucle : `for` vs `while`

Le choix entre `for` et `while` dépend du problème que vous essayez de résoudre.

Utilisez `for` lorsque :

  • Vous connaissez le nombre d'itérations à l'avance.
  • Vous devez parcourir une séquence d'éléments (liste, tableau, etc.).

Utilisez `while` lorsque :
  • Vous ne connaissez pas le nombre d'itérations à l'avance.
  • Vous devez répéter une action jusqu'à ce qu'une certaine condition soit remplie.

En résumé, `for` est plus adapté aux itérations définies, tandis que `while` est plus adapté aux itérations conditionnelles.

Ce qu'il faut retenir

  • Les boucles permettent de répéter un bloc de code.
  • La boucle `for` est utilisée lorsque le nombre d'itérations est connu à l'avance. Elle se compose d'une initialisation, d'une condition et d'une incrémentation.
  • La boucle `while` est utilisée lorsque le nombre d'itérations n'est pas connu à l'avance. Elle s'exécute tant qu'une condition est vraie. Il est crucial d'initialiser et de mettre à jour la variable utilisée dans la condition pour éviter les boucles infinies.
  • Choisir entre `for` et `while` dépend du problème : `for` pour les itérations définies, `while` pour les itérations conditionnelles.

FAQ

  • Qu'est-ce qu'une boucle infinie ?

    Une boucle infinie est une boucle qui ne s'arrête jamais. Cela se produit généralement lorsque la condition d'arrêt d'une boucle `while` ne devient jamais fausse, ou lorsque l'incrémentation dans une boucle `for` est mal définie. Il est important de vérifier attentivement les conditions et les incrémentations pour éviter les boucles infinies.
  • Comment puis-je sortir d'une boucle prématurément ?

    Vous pouvez utiliser l'instruction `break` pour sortir d'une boucle avant que la condition d'arrêt ne soit remplie. L'instruction `break` interrompt l'exécution de la boucle et passe à l'instruction suivante après la boucle.