Vous êtes sur la page 1sur 14

Module: Programmation I

Filière: SMA-S3

Traitement Itératif
Pr. Issam QAFFOU
Laboratoire Ingénierie des Systèmes d’Information
Département d’Informatique
FSSM-UCA

Version 2015/2016
(Automne)
Traitement itératif

• On l’appelle aussi traitement répétitif.


• Il consiste à proposer un mécanisme qui permet de
répéter une instruction ou un ensemble d’instructions
un nombre déterminé de fois.
• Ce type de traitement est très utilisé dans toutes les
applications qu’on programme.
• Par exemple, on veut saisir la note pour 100
étudiants. Faire 100 printf() et scanf() est une solution
stupide. À l’aide du traitement répétitif (itératif) on
écrit une seule fois les fonctions printf() et scanf().
19/10/2015 Programmation I 2
Traitement itératif

• Ce type de traitement se fait sous trois aspects


différents:
– La structure for (pour)
– La structure boucle while (tant que)
– La structure boucle do … while (répéter)
• Ces structures sont interchangeables. Un même
problème on peut le résoudre par une d’elles et
non pas par une précisément.
• Le traitement itératif nécessite une condition
d’arrêt pour qu’il ne soit pas infini.
19/10/2015 Programmation I 3
La structure While

• Cette structure correspond à la structure tant


que en algorithmique.

n0;
Tant que(condition) faire Tant que (n<10) faire
Début Début
Bloc d’instructions; afficher("Bonjour");
FinTanque; nn+1;
FinTanque;
Exemple affichant Bonjour 10 fois.

19/10/2015 Programmation I 4
La structure While
Peut être:
• Syntaxe en langage C: - une variable d'un type
numérique,
- une expression fournissant un
while (/*condition*/) { résultat numérique.
/*Bloc d’instructions*/
Peut être:
}
- un (vrai) bloc d'instructions
compris entre accolades,
- une seule instruction terminée
par un point-virgule

• La boucle while vérifie si la condition est vraie ou non. Si elle


est vraie, le bloc d’instruction s’exécute tant que cette
condition est vraie.
• Dans le cas contraire, ce qui est après l’accolade fermante
s’exécute.
19/10/2015 Programmation I 5
La structure while

• Exemples
Afficher les nombres de 1 Inverser ces nombres (de
jusqu’à 100: 100 jusqu’à 1)

int i=1; int j=100;


while(i<=100){ while(j>0){
Printf("%d ",i); Printf("%d ",j);
i++;//Incrémentation j--;//Décrémentation
} }

19/10/2015 Programmation I 6
La structure do…while

• Cette structure correspond à la structure


répéter en algorithmique.

n0;
répéter répéter
Bloc d’instructions; afficher("Bonjour");
Jusqu’à(condition); nn+1;
Jusqu’à (n>9)

Exemple affichant Bonjour 10 fois.

19/10/2015 Programmation I 7
La structure do…While
Peut être:
• Syntaxe en langage C: - un (vrai) bloc d'instructions
compris entre accolades,
- une seule instruction terminée
do{ par un point-virgule
/*Bloc d’instructions*/
Peut être:
} while (/*condition*/);
- une variable d'un type
numérique,
- une expression fournissant un
résultat numérique.

• Le même principe que la structure while, sauf que while


vérifie la condition avant l’exécution et do…while exécute
une seule fois puis vérifie la condition.

19/10/2015 Programmation I 8
Structure do…while
• Dans des applications il est plus élégant d’utiliser do…while
que while.
• Exemple1: on veut saisir un ensemble de valeurs différents
de 0. Pour s’arrêter, on saisit 0.

int val;
Do{
Printf("Donner une valeur: ");
Printf("%d",&val);
} while(val!=0);

19/10/2015 Programmation I 9
Structure do…while
• Exemple2: on veut calculer la racine carrée d’un entier. Si l’utilisateur
saisit une valeur négative, on lui redemande de saisir une valeur
positive.

#include <stdio.h>
#include <math.h>
Int main() {
int N;
do {
printf("Entrer un nombre (>= 0) : ");
scanf("%d", &N);
} while (N < 0);
printf("La racine carrée de %.2f est %.2f\n", N, sqrt(N));
return 0;
}

19/10/2015 Programmation I 10
Structure for
• C’est la structure la plus utilisée et la plus forte en
programmation.
• Elle correspond à la structure pour en
algorithmique

Pour Var allant de Val1 à Val2 faire


Pour i allant de 1 jusqu’à 10 faire
Début
afficher("Bonjour");
/*bloc d’intructions*/
finpour
finpour

Exemple affichant Bonjour 10 fois.

19/10/2015 Programmation I 11
Structure for
Valeur de départ:
• En langage C expression d’initialisation

Expression de
for(Var=Val1;Var<Val2;Var++) déplacement
{
/*bloc d’intructions*/
}
Condition d’arrêt:
testée à chaque
itération

19/10/2015 Programmation I 12
Structure for
• Exemple: Affichage du résultat de la multiplication d’un
nombre par les chiffres de 1 à 9 en utilisant l’instruction
for.

printf("Donner l’entier concerné: ");


scanf("%d",&N);
for(i=1;i<10;i++)
{
P=N*i;
printf("%d ",P);
}

19/10/2015 Programmation I 13
Exercice

• Interchanger les instructions while, do…while


et for entre tous les exemples vus dans ce
cours.

19/10/2015 Programmation I 14

Vous aimerez peut-être aussi