Cours
1. Présentation
Définition
Les structures de contrôle itératives (ou répétitives) sont indispensables lorsque le traitement doit être répété un nombre connu de fois.
Elles s'appuient sur une variable compteur (ou décompteur) de boucle qui évolue automatiquement d'une valeur initiale ($V_i$) à une valeur finale ($V_f$) selon un pas ($p$) spécifié.
📐 Schéma de principe d'une Structure Itérative (Boucle Pour)
2. Syntaxe
| 📐 Algorithme | 🐍 Python |
|---|---|
Structure itérative générale
Note : Si le pas |
Traduction Python avec
|
range(début, fin, pas)
En Python, la fonction range() génère une séquence d'entiers. Attention : la borne finale
fin est toujours exclue (la séquence s'arrête à fin - 1 pour un
pas positif ou à fin + 1 pour un pas négatif).
Forme à 1 argument : range(n)
Génère les entiers de $0$ à $n-1$ par pas de $1$.
range(5) $\rightarrow$ 0, 1, 2, 3, 4
Forme à 2 arguments : range(a, b)
Génère les entiers de $a$ à $b-1$ par pas de $1$.
range(1, 6) $\rightarrow$ 1, 2, 3, 4,
5
Forme à 3 arguments : range(a, b, p)
Génère les entiers de $a$ à $b-1$ par pas de $p$.
range(0, 11, 2) $\rightarrow$ 0, 2, 4, 6, 8,
10
Exemples d'application (Cours de référence)
Séquence générée : 0, 1, 2, 3, ..., 10
Algorithme
// Compteur de 0 à 10
// 0, 1, 2, 3, ..., 10
Pour i de 0 à 10 Faire
Ecrire(i)
Fin Pour
Python
# Compteur de 0 à 10
for i in range(11):
print(i)
# ou
for i in range(0, 11):
print(i)
# ou
for i in range(0, 11, 1):
print(i)
Séquence générée : 0, 2, 4, 6, 8, 10
Algorithme
// Compteur de 0 à 10 par pas de 2
// 0, 2, 4, 6, 8, 10
Pour i de 0 à 10 Faire [Pas=2]
Ecrire(i)
Fin Pour
Python
# Compteur de 0 à 10 par pas de 2
for i in range(0, 11, 2):
print(i)
Séquence générée : 10, 8, 6, 4, 2, 0
Algorithme
// Décompteur de 10 à 0 par pas de -2
// 10, 8, 6, 4, 2, 0
Pour i de 10 à 0 Faire [Pas=-2]
Ecrire(i)
Fin Pour
Python
# Décompteur de 10 à 0 par pas de -2
for i in range(10, -1, -2):
print(i)
📌 Synthèse d'analyse de la fonction range() (Exercice 1)
| Instruction Python | Compteur | Intervalle ($V_i$ / $V_f$) | Valeurs du compteur |
|---|---|---|---|
for i in range(5): |
i |
0 / 4 | 0, 1, 2, 3, 4 |
for j in range(1, 5): |
j |
1 / 4 | 1, 2, 3, 4 |
for k in range(5, 1): |
k |
Aucun (Pas +1 par défaut) | Aucune (Boucle non exécutée) |
for l in range(2, 11, 3): |
l |
2 / 10 | 2, 5, 8 |
for m in range(10, -10, -5): |
m |
10 / -5 | 10, 5, 0, -5 |
for n in range(len("abdou")): |
n |
0 / 4 | 0, 1, 2, 3, 4 |