Académique Documents
Professionnel Documents
Culture Documents
répétitives
1
1-Structures conditionnelles
Definition :
Une instruction conditionnelle est une instruction qui permet l’exécution d’une
ou plusieurs autres instructions spécifiées selon le résultat d’une condition
établie. Il faut remarquer qu’une instruction conditionnelle peut englober une
autre, et sont alors appelées des instructions conditionnelles imbriquées. Les
actions à effectuer peuvent être des actions simples ou composées
(affectation, appel de procédures, instruction tant que, suite d’instructions, …).
2
1-Structures conditionnelles
1,1-La structure conditionnelle SI
Les structures de contrôle définissent l'ordre dans lequel les instructions sont
effectuées.
Syntaxe en algorithmique :
SI < Condition1 > ALORS
<Traitement 1>
SINON
<Traitement 2>
FINSI
La est un prédicat, qui peut être vrai ou faux, selon les valeurs des
paramètres la constituant.
Si la condition est vérifiée (sa valeur est vrai), c’est le qui sera exécuté.
Ensuite, le système passe à l’exécution juste après le FINSI.
Dans le cas contraire, lorsque la condition n’est pas vérifiée (valeur de la
condition est faux), c’est le qui s’exécute, en cas où celui ci existe. S’il n’existe
pas, le système passe directement à l’instruction qui suit le FINSI.
Les traitements 1 et 2, peuvent être des actions simples ou même des
structures conditionnelles. 3
1-Structures conditionnelles
4
1-Structures conditionnelles
Remarques :
- S'il n'y a qu'une seule instruction, les accolades sont inutiles.
- "condition" peut être:
- une variable de type numérique
- une expression fournissant un résultat numérique
- On peut imbriquer plusieurs if-else
Exemple 1 :
if(a>b) si a est plus grand que b
max=a; on affecte à max la valeur de a
else sinon
max=b; on affecte à max la valeur de b
5
1-Structures conditionnelles
6
1-Structures conditionnelles
#include
void main()
{
float A,B,C;
printf("Donner A\n");
scanf("%f",&A);
printf("Donner B\n");
scanf("%f",&B);
printf("Donner C\n");
scanf("%f",&C);
if((A<B)&&(B<C))
printf("%f %f %f\n",C,B,A);
else if((B<A)&&(A<C))
printf("%f %f %f\n",C,A,B);
else if((C<A)&&(A<B))
printf("%f %f %f\n",B,A,C); 7
1-Structures conditionnelles
else if((A<C)&&(C<B))
printf("%f %f %f\n",B,C,A);
else if((C<B)&&(B<A))
printf("%f %f %f\n",A,B,C);
else
printf("%f %f %f\n",A,C,B);
}
8
1-Structures conditionnelles
1,2 -La structure conditionnelle SELON
Cette structure conditionnelle est appelée aussi à choix multiple ou sélectif car
elle sélectionne entre plusieurs choix à la fois, et non entre deux choix
alternatifs (le cas de la structure SI).
Syntaxe en algorithmique:
9
1-Structures conditionnelles
10
1-Structures conditionnelles
En programmation C
switch (selecteur )
{
case : instructions;
break;
case : instructions;
Break;
…….
default : instructions;
}
11
1-Structures conditionnelles
12
2-Structures répétitives
Definition :
13
2-Structures répétitives
14
2-Structures répétitives
En programmation C
Structure:
while(condition) tant que condition est vraie (≠0)
{ on exécute
bloc d'instructions ; bloc d'instructions
}
Remarques:
- S'il n'y a qu'une seule instruction, les accolades sont inutiles.
- Le bloc d’instructions est exécuté 0 ou plusieurs fois.
15
Structures répétitives
Exemple
16
2-Structures répétitives
< traitement > : une ou plusieurs instructions < condition arrêt > : c’est une
condition d’arrêt sous forme d’expression logique (vrai ou faux).
17
Structures répétitives
18
Structures répétitives
Remarque :
- S'il n'y a qu'une seule instruction, les accolades sont inutiles.
- Le bloc d’instructions est exécuté au moins une fois, et aussi longtemps
que condition fournit une valeur vraie (différente de 0).
.
19
2-Structures répétitives
20
Structures répétitives
En programmation C :for
structure:
for(expr1;expr2;expr3)
{
bloc d'instructions ;
}
expr1 est évaluée une fois avant le passage dans la boucle, elle est utilisée
pour initialiser les données de la boucle.
expr2 est évaluée à chaque passage de la boucle, elle est utilisée pour
savoir si la boucle est répétée ou non (c'est une condition de répétition, et
non d'arrêt).
expr3 est évaluée à la fin de chaque passage de la boucle, elle est utilisée
pour réinitialiser les données de la boucle.
21
Structures répétitives
Remarques 1:
La boucle POUR est utilisée lorsqu'on connaît le nombre de répétition du
traitement à l'avance.
2. La valeur du pas peut être positive ou négative et par conséquent, il faut; au
départ de la boucle; que Vi <= Vf ou Vi >= Vf selon la positivité ou la négativité
de cette valeur.
3. La valeur du pas est égale à 1 par défaut.
22
Structures répétitives
Equivalence entre une boucle for et une boucle while:
for(expr1;expr2;expr3) expr1;
{ while(expr2)
bloc d'instructions ; {
bloc d'instructions ;
expr3;
} }
Le plus souvent, for est utilisé comme boucle de comptage:
for(init;cond_repetition;compteur)
{
bloc d'instructions ;
}
23
Structures répétitives
24
Structures répétitives
Remarque :
Les parties expr1 et expr2 peuvent contenir plusieurs initialisations ou
réinitialisations, séparées par des virgules.
4) Choix de la structure répétitive
On choisit la structure qui reflète le mieux l'idée du programme que l'on veut
réaliser, en respectant les directives suivantes:
- Si le bloc d'instructions ne doit pas être exécuté si la condition est fausse ->
while ou for
- Si le bloc d'instructions doit être exécuté au moins une fois -> do-while
- Si le nombre d'exécution du bloc d'instructions dépend de une ou plusieurs
variables qui sont modifiées à la fin de chaque répétition -> for
- Si le bloc d'instructions doit être exécuté aussi longtemps qu'une condition
extérieure est vraie (par exemple aussi longtemps qu'il y a des données
dans un fichier d'entrées) ->while
25
Structures répétitives
26