Mission Carthage

Accueil › Cours › Tant que et Répéter

Tant que et Répéter en Python et algo : cours 2ème TI

Chapitre 7 · 2ème année Technologies de l'informatique (TI)

Répète tant qu'une condition est vraie, quand on ne connaît pas le nombre de tours.

Les leçons de ce chapitre

  1. Tant que
  2. Répéter … jusqu'à
  3. Quelle boucle choisir ?

Leçon 7.1 : Tant que

8 min

Quand on ne sait pas à l'avance combien de fois répéter, on utilise Tant que : les instructions sont répétées tant que la condition est vraie. La condition est testée avant chaque tour : si elle est fausse dès le début, le bloc ne s'exécute jamais.

Attention : Les trois pièges de Tant que : 1) oublier d'initialiser la variable testée, 2) oublier de la modifier dans la boucle (la boucle ne s'arrête jamais !), 3) se tromper de condition (< au lieu de <=).

Astuce : Si ton programme tourne sans fin, l'éditeur l'arrête après quelques secondes et t'explique qu'il y a une boucle infinie.

En Python

On ne sait pas combien d'années il faudra : on répète tant que le capital n'a pas atteint 2000.

print("Capital initial :")
capital = float(input())
annees = 0
while capital < 2000:
    capital = capital * 1.1
    annees = annees + 1
print("Années :", annees)

En algorithme

Le bloc est entre TantQue … Faire et FinTantQue.

Algorithme Epargne
Début
  Ecrire("Capital initial :")
  Lire(capital)
  annees ← 0
  TantQue capital < 2000 Faire
    capital ← capital * 1.1
    annees ← annees + 1
  FinTantQue
  Ecrire("Années : ", annees)
Fin

TDO
Objet | Type/Nature
capital | Réel
annees | Entier

Leçon 7.2 : Répéter … jusqu'à

8 min

La boucle Répéter … Jusqu'à exécute le bloc d'abord, puis teste la condition d'arrêt. Le bloc s'exécute donc au moins une fois. Attention : on s'arrête quand la condition devient vraie, l'inverse de Tant que.

Python n'a pas cette structure. On l'écrit avec while True: et un break quand la condition d'arrêt est vraie.

Contrôler la saisie

Répéter … Jusqu'à est idéal pour redemander une valeur tant qu'elle est incorrecte : on lit au moins une fois, puis on recommence jusqu'à ce que la valeur soit bonne.

En Python

break sort de la boucle : il est exécuté quand la note est valide.

while True:
    print("Donner une note entre 0 et 20 :")
    note = int(input())
    if note >= 0 and note <= 20:
        break
print("Note valide :", note)

En algorithme

En algorithme, la condition après Jusqu'à est la condition d'arrêt.

Algorithme Controle
Début
  Répéter
    Ecrire("Donner une note entre 0 et 20 :")
    Lire(note)
  Jusqu'à note >= 0 et note <= 20
  Ecrire("Note valide : ", note)
Fin

TDO
Objet | Type/Nature
note | Entier

Leçon 7.3 : Quelle boucle choisir ?

7 min

Tu connais maintenant trois boucles. Pour choisir, pose-toi une question : est-ce que je connais le nombre de tours ?

Les chiffres d'un nombre

Un grand classique avec while : retirer les chiffres un par un. n % 10 donne le dernier chiffre et n // 10 enlève ce chiffre. On continue tant que n > 0.

Attention : Une boucle infinie arrive souvent quand on oublie la ligne qui fait avancer la variable (n ← n div 10, i ← i + 1…). Relis toujours : « qu'est-ce qui rend la condition fausse un jour ? »

En Python

À chaque tour on ajoute le dernier chiffre à la somme, puis on le retire du nombre.

n = int(input())
somme = 0
while n > 0:
    somme = somme + n % 10
    n = n // 10
print("Somme des chiffres :", somme)

En algorithme

Avec mod et div : le même programme.

Algorithme Chiffres
Début
  Lire(n)
  somme ← 0
  TantQue n > 0 Faire
    somme ← somme + n mod 10
    n ← n div 10
  FinTantQue
  Ecrire("Somme des chiffres : ", somme)
Fin

TDO
Objet | Type/Nature
n, somme | Entier

S'entraîner gratuitement

Chaque leçon a 3 exercices gratuits avec indices, et 8 missions du jeu pour appliquer ce chapitre avec Hannibot.

Ouvrir le chapitre dans Mission Carthage Essayer dans le compilateur en ligne

← Chapitre précédent : La boucle Pour · Chapitre suivant : Problèmes types →

Tous les chapitres · Voir les devoirs corrigés de 2ème TI

Cours écrit pour Mission Carthage d'après le programme officiel. Ton professeur reste la référence.