Mission Carthage

Accueil › Cours › La boucle Pour

Boucle Pour en Python et algo (for, range) : cours 2ème TI

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

Répète des instructions un nombre de fois connu.

Les leçons de ce chapitre

  1. Répéter avec Pour
  2. Somme, compteur et moyenne
  3. Parcourir un texte

Leçon 6.1 : Répéter avec Pour

8 min

Quand on sait combien de fois répéter, on utilise la boucle Pour. Un compteur (souvent i) prend successivement toutes les valeurs d'un début à une fin, et les instructions du bloc sont répétées pour chaque valeur.

Le pas

Par défaut le compteur avance de 1. On peut changer le pas : range(0, 11, 2) donne 0, 2, 4, 6, 8, 10. Avec un pas négatif on descend : range(10, 0, -3) donne 10, 7, 4, 1.

Attention : Ne modifie jamais le compteur à l'intérieur de la boucle Pour : c'est la boucle qui le gère.

En Python

Deux boucles : une qui monte de 1 à 5, une qui descend de 3 en 3.

for i in range(1, 6):
    print("Tour numéro", i)
for k in range(10, 0, -3):
    print("Compte à rebours :", k)

En algorithme

En algorithme la fin est incluse : on écrit à 5 pour aller jusqu'à 5. Le pas se note pas.

Algorithme Boucles
Début
  Pour i de 1 à 5 Faire
    Ecrire("Tour numéro ", i)
  FinPour
  Pour k de 10 à 1 pas = -3 Faire
    Ecrire("Compte à rebours : ", k)
  FinPour
Fin

TDO
Objet | Type/Nature
i, k | Entier

Leçon 6.2 : Somme, compteur et moyenne

9 min

Avec une boucle on peut accumuler : une variable garde un résultat qui évolue à chaque tour. On l'initialise avant la boucle, puis on la met à jour dans la boucle.

Astuce : Pour la moyenne, on divise la somme par le nombre de valeurs après la boucle.

En Python

Le nombre de notes est lu d'abord : la boucle for répète la lecture, et somme accumule.

print("Combien de notes ?")
n = int(input())
somme = 0
for i in range(n):
    print("Note", i + 1, ":")
    somme = somme + float(input())
print("Moyenne :", somme / n)

En algorithme

En algorithme le compteur va de 1 à n : on écrit Pour i de 1 à n.

Algorithme Moyenne
Début
  Ecrire("Combien de notes ?")
  Lire(n)
  somme ← 0
  Pour i de 1 à n Faire
    Ecrire("Note ", i, " :")
    Lire(note)
    somme ← somme + note
  FinPour
  Ecrire("Moyenne : ", somme / n)
Fin

TDO
Objet | Type/Nature
n, i | Entier
note, somme | Réel

Leçon 6.3 : Parcourir un texte

8 min

La boucle Pour sert aussi à parcourir une chaîne caractère par caractère : le compteur est l'indice, de 0 à longueur − 1.

En Python on a aussi une forme plus courte : for lettre in mot: donne directement chaque lettre, sans passer par l'indice.

Astuce : Avec les chaînes en algorithme, la boucle va de 0 à long(mot) - 1.

En Python

On compte les voyelles : pour chaque lettre, on teste si elle est dans "aeiouy".

mot = input()
voyelles = 0
for i in range(len(mot)):
    if mot[i] in "aeiouy":
        voyelles = voyelles + 1
print("Voyelles :", voyelles)

En algorithme

pos(x, ch) vaut -1 quand x n'est pas dans ch, donc ≠ -1 veut dire « est dedans ».

Algorithme Voyelles
Début
  Lire(mot)
  voyelles ← 0
  Pour i de 0 à long(mot) - 1 Faire
    Si pos(mot[i], "aeiouy") ≠ -1 Alors
      voyelles ← voyelles + 1
    FinSi
  FinPour
  Ecrire("Voyelles : ", voyelles)
Fin

TDO
Objet | Type/Nature
mot | Chaîne de caractères
voyelles, i | 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 : Les chaînes de caractères · Chapitre suivant : Tant que et Répéter →

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.