Boucle pour (bornée) - Algorithmique et Programmation en Seconde
Introduction
Découvrez les fondements des structures de contrôle en algorithmique
Définition de la boucle pour (bornée)
Qu'est-ce qu'une boucle pour ?
La boucle pour (ou boucle bornée) est une structure de contrôle qui permet de répéter un bloc d'instructions un nombre prédéterminé de fois. Elle est caractérisée par une variable de contrôle (appelée compteur) qui parcourt une suite d'entiers.
Pour i allant de debut à fin [pas de pas] Faire
Instructions à répéter
Fin Pour
- i : variable de contrôle (compteur)
- debut : valeur initiale du compteur
- fin : valeur finale du compteur
- pas : incrément (facultatif, par défaut 1)
Exemples de boucles pour
Exemples concrets
Pour i allant de 1 à 5 Faire
Afficher i
Fin Pour
Résultat : 1, 2, 3, 4, 5
s ← 0
Pour i allant de 1 à n Faire
s ← s + i
Fin Pour
Avec n = 5 : s = 0 + 1 + 2 + 3 + 4 + 5 = 15
Pour i allant de 0 à 10 pas de 2 Faire
Afficher i
Fin Pour
Résultat : 0, 2, 4, 6, 8, 10
Diagramme de la boucle pour
Représentation graphique
i ≤ fin ?
- Initialisation de la variable de contrôle
- Vérification de la condition (i ≤ fin)
- Si vrai : exécution des instructions
- Incrémentation de la variable de contrôle
- Retour à l'étape 2
- Si faux : sortie de la boucle
Applications de la boucle pour
Applications concrètes
n ← 5
fact ← 1
Pour i allant de 1 à n Faire
fact ← fact × i
Fin Pour
Afficher fact // Résultat : 120
tab ← [10, 20, 30, 40, 50]
Pour i allant de 0 à Longueur(tab)-1 Faire
Afficher tab[i]
Fin Pour
- Calcul de sommes, produits
- Génération de suites numériques
- Création de motifs géométriques
- Simulation de phénomènes répétitifs
Différence avec la boucle tant que
Comparaison des structures
- Nombre d'itérations connu à l'avance
- Utilisation d'une variable de contrôle
- Syntaxe : Pour i allant de début à fin
- Idéale pour les tâches répétitives
- Nombre d'itérations inconnu à l'avance
- Condition d'arrêt dynamique
- Syntaxe : Tant que condition
- Idéale pour les processus conditionnels
Exemple : Somme des entiers
Calcul de la somme des entiers de 1 à n
Variables : n, i, somme : entiers
Début
Afficher "Entrez un nombre n : "
Lire n
somme ← 0
Pour i allant de 1 à n Faire
somme ← somme + i
Fin Pour
Afficher "La somme des entiers de 1 à ", n, " est : ", somme
Fin
| Tour | i | somme avant | somme après |
|---|---|---|---|
| 1 | 1 | 0 | 1 |
| 2 | 2 | 1 | 3 |
| 3 | 3 | 3 | 6 |
| 4 | 4 | 6 | 10 |
Exemple : Multiplication par addition
Multiplier deux nombres par additions successives
Pour multiplier a par b, on ajoute a à lui-même b fois : a × b = a + a + ... + a (b fois)
Variables : a, b, resultat, i : entiers
Début
Afficher "Entrez deux nombres a et b : "
Lire a
Lire b
resultat ← 0
Pour i allant de 1 à b Faire
resultat ← resultat + a
Fin Pour
Afficher a, " × ", b, " = ", resultat
Fin
- Initialement : resultat = 0
- Tour 1 (i=1) : resultat = 0 + 3 = 3
- Tour 2 (i=2) : resultat = 3 + 3 = 6
- Tour 3 (i=3) : resultat = 6 + 3 = 9
- Tour 4 (i=4) : resultat = 9 + 3 = 12
- Résultat final : 12
Exemple : Table de multiplication
Générer la table de multiplication d'un nombre
Variables : n, i : entiers
Début
Afficher "Entrez un nombre n : "
Lire n
Pour i allant de 1 à 10 Faire
Afficher n, " × ", i, " = ", n*i
Fin Pour
Fin
7 × 1 = 7 7 × 2 = 14 7 × 3 = 21 7 × 4 = 28 7 × 5 = 35 7 × 6 = 42 7 × 7 = 49 7 × 8 = 56 7 × 9 = 63 7 × 10 = 70
Exercice 1 : Carrés des entiers
Calculer les carrés des entiers de 1 à n
Écrire un algorithme qui demande à l'utilisateur un entier positif n, puis affiche les carrés des entiers de 1 à n.
Exemple : pour n = 5, afficher : 1, 4, 9, 16, 25
Variables : n, i : entiers
Début
Afficher "Entrez un nombre n : "
Lire n
Pour i allant de 1 à n Faire
Afficher i, "² = ", i*i
Fin Pour
Fin
Exercice 2 : Factorielle
Calculer la factorielle d'un nombre
Écrire un algorithme qui calcule la factorielle d'un nombre entier positif n. Rappel : n! = 1 × 2 × 3 × ... × n
Exemple : 5! = 1 × 2 × 3 × 4 × 5 = 120
Variables : n, i, fact : entiers
Début
Afficher "Entrez un nombre n : "
Lire n
fact ← 1
Pour i allant de 1 à n Faire
fact ← fact × i
Fin Pour
Afficher n, "! = ", fact
Fin
Exercice 3 : Somme des puissances
Calculer la somme des puissances d'un nombre
Écrire un algorithme qui calcule la somme : S = x¹ + x² + x³ + ... + x^n
Où x est un réel et n un entier positif.
Variables : x, n, i : entiers
somme, puissance : réels
Début
Afficher "Entrez un nombre x : "
Lire x
Afficher "Entrez un exposant n : "
Lire n
somme ← 0
puissance ← 1
Pour i allant de 1 à n Faire
puissance ← puissance × x
somme ← somme + puissance
Fin Pour
Afficher "Somme = ", somme
Fin
Boucles imbriquées
Boucles à plusieurs niveaux
Une boucle imbriquée est une boucle placée à l'intérieur d'une autre boucle. La boucle intérieure est exécutée complètement pour chaque itération de la boucle extérieure.
Pour i allant de 1 à 3 Faire
Pour j allant de 1 à 3 Faire
Afficher i, " × ", j, " = ", i*j
Fin Pour
Fin Pour
Ce programme affichera la table de multiplication de 1, 2 et 3 jusqu'à 3.
- Parcours de matrices (tableaux à 2 dimensions)
- Génération de motifs complexes
- Calculs multidimensionnels
Exercice 4 : Triangle d'étoiles
Dessiner un triangle d'étoiles
Écrire un algorithme qui dessine un triangle d'étoiles de hauteur n. Exemple pour n=5 :
* ** *** **** *****
Variables : n, i, j : entiers
Début
Afficher "Entrez la hauteur n : "
Lire n
Pour i allant de 1 à n Faire
Pour j allant de 1 à i Faire
Afficher "*"
Fin Pour
Afficher "" // Passer à la ligne
Fin Pour
Fin
Erreurs courantes
Pièges à éviter
Pour i allant de 1 à 5 Faire
Afficher i
i ← i + 1 // ERREUR : modification du compteur !
Fin Pour
Cette erreur modifie la variable de contrôle pendant l'exécution de la boucle.
- Utiliser des bornes incluses/excluses incorrectement
- Ne pas tenir compte du pas dans les calculs
- Erreur d'indexation (début à 0 ou 1)
- Ne jamais modifier la variable de contrôle dans la boucle
- Faire une trace manuelle pour vérifier
- Tester avec des valeurs extrêmes
Optimisation des boucles
Bonnes pratiques d'optimisation
Mauvais :
Pour i allant de 1 à n Faire
result ← a * b + c // Calculé n fois
Afficher result * i
Fin Pour
Meilleur :
temp ← a * b + c // Calculé une fois
Pour i allant de 1 à n Faire
Afficher temp * i
Fin Pour
- Quand le nombre d'itérations est connu à l'avance
- Quand on parcourt une plage de valeurs
- Quand on utilise un compteur incrémental
Résumé
Points clés
- Structure de contrôle itérative
- Nombre d'itérations connu à l'avance
- Utilise une variable de contrôle
- Syntaxe : Pour i allant de début à fin
- Lisible et structurée
- Contrôle précis du nombre d'itérations
- Moins d'erreurs que les boucles conditionnelles
- Calculs mathématiques répétitifs
- Parcours de tableaux
- Génération de suites
- Calculs de sommes, produits, factorielles
Conclusion
Félicitations !
Continuez à pratiquer pour renforcer vos compétences en algorithmique