0% ont trouvé ce document utile (0 vote)
4 vues4 pages

Structures itératives en programmation C

Programmation

Transféré par

Papa Sow
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues4 pages

Structures itératives en programmation C

Programmation

Transféré par

Papa Sow
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Programmation

Séquence 5 : Objectif 15 : Utiliser les structures répétitives ou itératives

Programmation
Dr Guy MBATCHOU
Séquence 5 : Objectif 15 : Utiliser les structures répétitives ou itératives

Dr Guy MBATCHOU 1
Programmation
Séquence 5 : Objectif 15 : Utiliser les structures répétitives ou itératives

Objectif 15 : Utiliser les structures répétitives ou itératives

La structure itérative « for »


L’utilisation de la boucle « Pour » en langage C est beaucoup plus générale qu’en algorithmique. Son rôle ne se limite
pas à la simple répétition en incrémentant un entier. Son utilisation est la suivante :

for (<instruction initiale> ; <condition de poursuite> ; < instruction d'avancement>) {


instruction(s) ;
}
L'instruction initiale est exécutée avant le début de la boucle, la condition de poursuite est testée à chaque début de
boucle et l'instruction d'avancement est exécutée en dernière instruction à chaque tour de boucle.

Exemple : Programme de lecture, calcul et affichage de la moyenne de 100 entiers


Algorithme Programme
Algorithme Moyenne_de_100_entiers ; //Moyenne de 100 entiers
Variable Nombre, Compteur : entier ; int Nombre, Compteur;
Moyenne : réel ; float Moyenne;
Debut int main(){
Moyenne 0 ; Moyenne = 0 ;
Pour compteur 1 à 100 faire for (compteur = 1 ; i<=100 ; i++){
Ecrire('Entrer un nombre entier') ; printf("'Entrer un nombre entier") ;
Lire(Nombre) ; scanf("%d", &Nombre) ;
Moyenne  Moyenne + Nombre ; Moyenne += Nombre ;
FinPour ; }
Moyenne  Moyenne /100 ; Moyenne /= (float)100 ; /*transtypage de 100 en
Ecrire('La moyenne des 100 nombres lus ', ' = ', float pour avoir un quotient rationnel et non un
Moyenne) ; quotient entier*/
Fin. printf("La moyenne des 100 nombres lus = %f",
Moyenne) ;
return 0 ;
}

La structure itérative « while »


La boucle « Tant que » vue en algorithmique se traduit ainsi :

while (<condition de poursuite>) {


instruction(s) ;
}
Factoriel d’un nombre avec la boucle for
Calculez le factoriel d'un entier naturel N en utilisant for.

La structure itérative « do … while »


La boucle « Repeter » vue en algorithmique se traduit ainsi :

do {
instruction(s) ;
} while (<condition de poursuite>);
Le test se fait à la fin de la boucle contrairement à for et à while où le test se fait en début de boucle.

Attention : En algorithmique, on utilise la condition d’arrêt alors qu’en langage C, on utilise la condition de poursuite.

Dr Guy MBATCHOU 2
Programmation
Séquence 5 : Objectif 15 : Utiliser les structures répétitives ou itératives

Exemple : Programme de lecture des nombres jusqu’à lecture d’un nombre négatif
Algorithme Programme
Algorithme //Lecture d’une suite de nombres positifs
Lecture_suite_nombres_positifs ; float Nombre ;
Variable Nombre : réel ; int main(){
Debut do{
Repeter printf("Entrer un nombre") ;
Ecrire('Entrer un nombre') ;
scanf("%f", &Nombre) ;
Lire(Nombre) ; }while (Nombre >= 0) ;
Jusqu’à Nombre < 0 ; }
Fin.
Condition d’arrêt : Nombre < 0 Condition de poursuite : Nombre >= 0

Factoriel d’un nombre avec la boucle while


Calculez le factoriel d'un entier naturel N en utilisant while.

Les structures de rupture de séquence « continue » et « break »


Ce sont des instructions qui modifient le déroulement d'un programme sans condition.

L'instruction continue ne peut être présente qu'à l'intérieur d'une boucle. Elle conduit à un branchement vers la fin de
la plus petite boucle qui l'entoure, mais ne sort pas de la boucle (ainsi l'instruction d'avancement si elle existe est
effectuée, puis la boucle reprend).

L'instruction break peut apparaître dans une boucle ou dans une instruction switch. Elle effectue un saut
immédiatement après la fin de la boucle ou du switch. Son usage est indispensable dans le cas des boucles infinies.

Exemple :

for (i=0; i<100; i++) {


if (i<5) continue; /* si i<5 la suite de la boucle n'est pas exécutée */
if (i==10) break; /* si i vaut 10 la boucle se termine */
printf("%d\n",i);
}
Le résultat de cette -boucle est l'affichage des nombres 5, 6, 7, 8, 9. La condition de poursuite de la boucle for est en
fait totalement inutile ici car le break permet de sortir de boucle si i vaut 10.

Factoriel d’un nombre avec la boucle do … while


Calculez le factoriel d'un entier naturel N en utilisant do … while.

La structure de saut ou branchement « goto »


L’instruction « goto etiquette » permet d’effectuer un saut d’instructions pour se brancher à l’instruction qui suit
l’étiquette de branchement. Cette étiquette est une chaîne de caractères sans espace suivie de « : ». Il est fortement
déconseillé d’utiliser l’instruction « goto » car elle conduit fréquemment à un programme illisible.

Exemple : Ecrire un programme une suite de nombres terminée par -1

Dr Guy MBATCHOU 3
Programmation
Séquence 5 : Objectif 15 : Utiliser les structures répétitives ou itératives

int n ;
while(1==1){ //Boucle infinie mais pas de soucis car l’instruction goto permettra d’y sortir
printf("Entrer un nombre : ") ;
scanf("%d", &n) ;
if (n == -1) goto Arret ; //branchement sur l’étiquette Arret
}
Arret : printf("Lecture terminée !") ;
Il n'est pas possible d'effectuer des sauts en dehors d'une fonction. En revanche, il est possible d'effectuer des sauts en
dehors et à l'intérieur des blocs d'instructions sous certaines conditions. Si la destination du saut se trouve après une
déclaration, cette déclaration ne doit pas comporter d'initialisations.

Puissance
Calculez par multiplications successives XN où X et N sont deux entiers naturels entrés au clavier.

Seuil de validation : 80% Titre : Test de connaissance Objectifs visés : O15(70%)


Seuil de validation : 60% - Titre : Série harmonique Objectifs visés : O15(40%)
Seuil de validation : 60% - Titre : Somme, produit et moyenne d’une suite de nombres Objectifs
visés : O15(40%)
Seuil de validation : 60% - Titre : Division de 2 valeurs par soustractions successives Objectifs
visés : O15(40%)
Seuil de validation : 70% - Titre : Somme, produit et moyenne d’une suite de nombres dont le
nombre de nombres est compris entre des valeurs MIN et MAX Objectifs visés : O15(60%)
Seuil de validation : 60% - Titre : Somme, produit et moyenne d’une suite de chiffres non nuls
Objectifs visés : O15(60%)
Seuil de validation : 50% - Titre : Traçage d’un rectangle Objectifs visés : O15(50%)
Seuil de validation : 40% - Titre : Calcul d’un polynôme avec la méthode de Horner Objectifs visés :
O15(40%)
Seuil de validation : 50% - Titre : Traçage d’un triangle isocèle Objectifs visés : O15(60%)
Seuil de validation : 50% - Titre : Traçage d’un triangle rectangle isocèle Objectifs visés : O15(40%)
Seuil de validation : 50% - Titre : Affichage de la table de multiplication Objectifs visés : O15(50%)

Dr Guy MBATCHOU 4

Vous aimerez peut-être aussi