LES STRUCTURES REPETITIVES
LES STRUCTURES REPETITIVES
I. Définition :
Une structure répétitive est une structure qui répète un même traitement autant de fois que l’on veut
en fonction d’une condition d’exécution.
Cette structure s’arrête lorsque cette condition n’est plus vérifiée.
On distingue deux types de répétitions :
➢ L’Itération : quand on sait le nombre de fois que l’on va répéter un traitement :
▪ La boucle Pour.
➢ La Répétition Conditionnelle : quand la poursuite d’une répétition dépend d’une condition
booléenne :
▪ La boucle Tant que.
▪ La boucle Répéter.
L’utilisation d’un tel ou tel schéma dépend essentiellement de la nature du problème à résoudre.
II. La boucle Pour :
1. Définition :
La boucle Pour est une structure répétitive qui itère le même traitement pour une plage de valeurs
entières comprises entre une borne inférieure et une borne supérieure. La mise à jour étant
automatique, l’arrêt du traitement de la boucle Pour se réalise lorsqu’on dépasse l’une des bornes.
2. Représentation algorithmique :
Pour I de Val_initiale à Val_finale, (Pas = Val_pas) Faire
<Traitement>
Fin Pour
3. Représentation en langage C :
for ( I= Val_initiale ; I<= Val_finale ; I++)
{
<Traitement> ;
}
Avec
I : variable de type entier (en général) servant de compteur.
Val_initiale : valeur initiale que va prendre I.
Val_finale : valeur finale que prendra I.
Pas : contient une valeur entière indiquent la valeur de l’incrémentation de I (mise à jour de I).
Du fait que le nombre d'itérations est connu à l’avance, on se sert d'un compteur (ici I) qui sera
initialisé automatiquement à la valeur initiale et sera incrémenté de la valeur du pas, jusqu'à la
valeur finale.
1
, LES STRUCTURES REPETITIVES
Remarque :
• Le traitement de la boucle Pour est exécuté pour toutes les valeurs comprises entre
Val_initiale et Val_finale.
• Le sens de la boucle Pour peut-être croissant (Pas > 0) ou décroissant (Pas < 0).
• Si la valeur du Pas = 0, on sera en présence d’une boucle infinie.
• L’incrémentation de I est automatique en fonction de la valeur du Pas.
• Dans le corps de la boucle il est interdit de modifier la valeur du compteur I, même si on peut
s'en servir.
• Dans une boucle Pour, si le Pas n’apparaît pas, il vaut 1 par défaut.
• La boucle Pour est conseillée si le nombre d’itérations à faire est connu à l’avance.
4. Exécution de la Boucle Pour :
On suppose qu’on est déjà entrain d’exécuter un algorithme, et on a rencontré une boucle Pour.
1ère étape : Affectation de Val_initiale au compteur I.
2ème étape : Vérification si la valeur de I est dans l’intervalle ou non, si elle est dans l’intervalle
alors aller à la 3ème étape, sinon aller à la 5ème étape.
3ème étape : Exécution du traitement de la boucle.
4ème étape : Incrémentation automatique de la valeur de I en fonction de la valeur du Pas (I I +
Val_pas) et retour à la 2ème étape.
5ème étape : Sortie de la boucle et suite de l’exécution du programme à partir de la première
instruction qui vient après Fin pour.
5. Exercices d’application :
Exercice N°1 :
Ecrire un programme C qui lit un entier positif et affiche son factoriel :
n!=1*2*3*……*n-1* n et 0!=1
Exercice N°2 :
Ecrire un programme C qui lit un réel x et un entier positif n et affiche x puissance n.
Exercice N°3 :
Ecrire un programme C qui permet de saisir les moyennes des N étudiants et de calculer la moyenne
générale.
Exercice N°4 :
Ecrire un programme C qui permet d'afficher tous les nombres pairs qui existent entre 1 et n.
Exercice N°5 :
Ecrire un programme C qui permet de saisir un nombre entier n et d'afficher s'il est premier ou non.
Un nombre premier est divisible uniquement par 1 et par lui-même.
Exercice N°6 :
Ecrire un programme C qui détermine si un entier N est parfait ou non. Un entier est dit parfait s'il
est égal à la somme de ses diviseurs stricts (Exemple: 6=3+2+1).
Exercice N°7 :
Ecrire un programme C qui permet de calculer parmi les entiers de 1 à n :
• La somme des entiers pairs
• La somme des entiers impairs
2
LES STRUCTURES REPETITIVES
I. Définition :
Une structure répétitive est une structure qui répète un même traitement autant de fois que l’on veut
en fonction d’une condition d’exécution.
Cette structure s’arrête lorsque cette condition n’est plus vérifiée.
On distingue deux types de répétitions :
➢ L’Itération : quand on sait le nombre de fois que l’on va répéter un traitement :
▪ La boucle Pour.
➢ La Répétition Conditionnelle : quand la poursuite d’une répétition dépend d’une condition
booléenne :
▪ La boucle Tant que.
▪ La boucle Répéter.
L’utilisation d’un tel ou tel schéma dépend essentiellement de la nature du problème à résoudre.
II. La boucle Pour :
1. Définition :
La boucle Pour est une structure répétitive qui itère le même traitement pour une plage de valeurs
entières comprises entre une borne inférieure et une borne supérieure. La mise à jour étant
automatique, l’arrêt du traitement de la boucle Pour se réalise lorsqu’on dépasse l’une des bornes.
2. Représentation algorithmique :
Pour I de Val_initiale à Val_finale, (Pas = Val_pas) Faire
<Traitement>
Fin Pour
3. Représentation en langage C :
for ( I= Val_initiale ; I<= Val_finale ; I++)
{
<Traitement> ;
}
Avec
I : variable de type entier (en général) servant de compteur.
Val_initiale : valeur initiale que va prendre I.
Val_finale : valeur finale que prendra I.
Pas : contient une valeur entière indiquent la valeur de l’incrémentation de I (mise à jour de I).
Du fait que le nombre d'itérations est connu à l’avance, on se sert d'un compteur (ici I) qui sera
initialisé automatiquement à la valeur initiale et sera incrémenté de la valeur du pas, jusqu'à la
valeur finale.
1
, LES STRUCTURES REPETITIVES
Remarque :
• Le traitement de la boucle Pour est exécuté pour toutes les valeurs comprises entre
Val_initiale et Val_finale.
• Le sens de la boucle Pour peut-être croissant (Pas > 0) ou décroissant (Pas < 0).
• Si la valeur du Pas = 0, on sera en présence d’une boucle infinie.
• L’incrémentation de I est automatique en fonction de la valeur du Pas.
• Dans le corps de la boucle il est interdit de modifier la valeur du compteur I, même si on peut
s'en servir.
• Dans une boucle Pour, si le Pas n’apparaît pas, il vaut 1 par défaut.
• La boucle Pour est conseillée si le nombre d’itérations à faire est connu à l’avance.
4. Exécution de la Boucle Pour :
On suppose qu’on est déjà entrain d’exécuter un algorithme, et on a rencontré une boucle Pour.
1ère étape : Affectation de Val_initiale au compteur I.
2ème étape : Vérification si la valeur de I est dans l’intervalle ou non, si elle est dans l’intervalle
alors aller à la 3ème étape, sinon aller à la 5ème étape.
3ème étape : Exécution du traitement de la boucle.
4ème étape : Incrémentation automatique de la valeur de I en fonction de la valeur du Pas (I I +
Val_pas) et retour à la 2ème étape.
5ème étape : Sortie de la boucle et suite de l’exécution du programme à partir de la première
instruction qui vient après Fin pour.
5. Exercices d’application :
Exercice N°1 :
Ecrire un programme C qui lit un entier positif et affiche son factoriel :
n!=1*2*3*……*n-1* n et 0!=1
Exercice N°2 :
Ecrire un programme C qui lit un réel x et un entier positif n et affiche x puissance n.
Exercice N°3 :
Ecrire un programme C qui permet de saisir les moyennes des N étudiants et de calculer la moyenne
générale.
Exercice N°4 :
Ecrire un programme C qui permet d'afficher tous les nombres pairs qui existent entre 1 et n.
Exercice N°5 :
Ecrire un programme C qui permet de saisir un nombre entier n et d'afficher s'il est premier ou non.
Un nombre premier est divisible uniquement par 1 et par lui-même.
Exercice N°6 :
Ecrire un programme C qui détermine si un entier N est parfait ou non. Un entier est dit parfait s'il
est égal à la somme de ses diviseurs stricts (Exemple: 6=3+2+1).
Exercice N°7 :
Ecrire un programme C qui permet de calculer parmi les entiers de 1 à n :
• La somme des entiers pairs
• La somme des entiers impairs
2