Cours gratuit

Algorithmique : Boucles bornées et non bornées

Prévoir le résultat ou la valeur finale d'une variable après l'exécution d'un script Python contenant des boucles 'for' ou 'while' et des instructions conditionnelles.

Duree estimee : 15 min

Pourquoi utiliser des boucles ?

En programmation, il est fréquent de devoir répéter une même instruction plusieurs fois. Pour éviter de copier-coller dix fois la même ligne, on utilise des boucles. C'est un concept fondamental en algorithmique.

Illustration vectorielle simple divisée en deux parties. À gauche, un coureur sur une piste d'athlétisme avec un panneau '3 tours à faire'. À droite, une personne à un arrêt de bus regardant sa montre avec un point d'interrogation, attendant le bus.
Pour comprendre la différence entre les deux types de boucles, imaginons deux situations : courir exactement 3 tours de stade ou attendre le bus jusqu'à ce qu'il arrive.

Ces situations illustrent la logique : si tu connais le nombre exact de répétitions (les 3 tours), c'est une boucle bornée. Si la répétition dépend d'une condition inconnue au départ (l'arrivée du bus), c'est une boucle non bornée.

En résumé : on boucle soit un nombre de fois déterminé à l'avance, soit tant qu'une condition reste vraie.

La boucle bornée : for

En Python, on utilise la boucle "for" (pour) quand on connait le nombre de répétitions. On l'utilise souvent avec la fonction 'range()' qui génère une suite de nombres. C'est idéal pour répéter une action fois.

Observe ce code : 'for k in range(5): print(k)'. La variable est un compteur. Elle va prendre successivement les valeurs et . L'instruction print sera exécutée 5 fois.
Attention au piège de l'intervalle ! En informatique, on commence souvent à compter à . L'instruction 'range(5)' s'arrête strictement avant . La valeur n'est jamais atteinte.
Utilise "for" lorsque le nombre de tours de boucle est connu avant le début de l'exécution.

La boucle non bornée : while

Si on ne sait pas quand la boucle doit s'arrêter, on utilise "while" (tant que). Le programme répète les instructions tant que la condition donnée reste Vraie. C'est utile pour résoudre des problèmes de seuil.

Problème : On a 100€ et on gagne 10€ par an. Quand dépasse-t-on 150€ ? En Python : 'while argent < 150: argent = argent + 10'. La boucle continue tant que la somme est inférieure au seuil de 150.
Gare à la boucle infinie ! Si la condition reste toujours vraie (par exemple si on oublie d'augmenter la variable argent), le programme ne s'arrêtera jamais et va planter.
Schéma simple style cartoon. Un robinet verse de l'eau dans un verre. Une ligne rouge horizontale sur le verre indique le niveau cible. Une annotation dit : Tant que l'eau est sous le trait, continuer de verser.
Le "while" fonctionne comme le remplissage d'un verre : on verse tant que le niveau n'est pas atteint.

Prévoir le résultat : faire la trace

Pour comprendre un algorithme ou corriger une erreur, tu dois savoir simuler l'ordinateur à la main. On appelle cela faire une trace d'exécution : on note l'état des variables à chaque tour.

Méthode infaillible : dessine un tableau sur ton brouillon. Prévois une colonne pour le numéro du tour (itération) et une colonne par variable modifiée.
Image d'un tableau manuscrit sur une feuille à petits carreaux. 3 colonnes : 'Tour n°', 'k', 'S'. Ligne 1 : 'Initialisation', '-', 'S=0'. Ligne 2 : 'Tour 1', 'k=0', 'S=0'. Ligne 3 : 'Tour 2', 'k=1', 'S=5'. Ligne 4 : 'Tour 3', 'k=2', 'S=10'.
Voici un exemple de tableau de trace pour le calcul d'une somme cumulée.
Analysons ce code : , puis 'for k in range(3): S = S + 5'. Initialement . Tour : devient . Tour : devient . Tour : devient . La boucle s'arrête là. Valeur finale : .
Ne devine pas le résultat final : écris l'évolution des variables étape par étape dans un tableau.

Entraînement officiel

Prêt à relever le Défi 5?

Mets tes nouvelles connaissances à l'épreuve : survis aux 10 questions du chapitre avec 5 vies et 20 secondes par manche !