Sunteți pe pagina 1din 17

Syrine Ben Meskina 1ère année LBC

Thouraya Sakouhi Module: ASDP1 2019 – 2020


Plan
I. Introduction

II. Structure conditionnelle simple

1. Forme simple: (Si … Alors … Fin si)

2. Forme composée: (Si … Alors … Sinon)

3. Forme imbriquée: (Si … Sinon si)

III. Structure conditionnelle à choix multiple

2
I. Introduction

3
Introduction

En programmation, on est souvent confronté à des situations ou on


a besoin de choisir entre deux ou plusieurs traitements selon la
réalisation ou non d’une certaine condition d’où la notion de:

 Traitement conditionnel

4
Traitement conditionnel
 Deux structures de traitement conditionnel

1) Structure conditionnelle simple

2) Structure conditionnelle à choix multiple

5
Structure conditionnelle simple

 Évaluer une condition


expression logique
à valeur vrai ou faux

 Effectuer le traitement relatif à la valeur de vérité trouvée

6
Structure conditionnelle à choix multiple

N’est pas nécessairement une valeur


 Évaluer une expression booléenne, elle peut avoir plus de deux
valeurs

 Effectuer un traitement selon la valeur trouvée

7
II. Structure conditionnelle simple

8
Forme simple : principe
 Syntaxe
Si (condition) Alors
Action(s) if (condition(s))
Fin si {
action(s) ;
………
}

 Exécution
1) Evaluer condition
2) Condition vaut vrai: séquence d’actions exécutée
Condition vaut faux: passage à la suite des instructions du programme
9
Forme simple: exemple
Ecrire un algorithme qui permet de saisir un entier et d’afficher « impossible d’être
diviseur » si cet entier est égal à 0 #include <stdio.h>
#include <stdlib.h>
int main()
Algorithme Diviseur {
Var int x;
x: entier printf("donner la valeur de x \n");
Début scanf("%d",&x);
Ecrire (« Donnez la valeur de x »)
if (x==0)
Lire(x) {
Si ( x = 0 ) alors printf("Impossible d’etre diviseur");
Ecrire (« Impossible d’être diviseur ») }
Fin si return 0;
Fin } 10
Forme composée: principe
 Syntaxe
if (condition(s))
Si ( condition ) Alors
{
Action(s) 1 action(s) 1;
Sinon }
Action(s) 2 else
Fin si {
Séquence d’actions1
action(s) 2;
}

 Exécution
1) Evaluer condition
2) Condition vaut vrai: séquence d’actions 1 exécutée
Condition vaut faux: séquence d’actions 2 exécutée
11
Forme composée: exemple
Ecrire un algorithme qui permet de saisir un entier et d’afficher «pair» si cet entier est
pair ou «impair» si cet entier est impair. #include <stdio.h>
#include <stdlib.h>
Algorithme PairImpair int main()
{
Var int x;
x: entier printf("donnez la valeur de x \n");
Début scanf("%d",&x);
Ecrire (‘’Donnez la valeur de x’’) if (x % 2 == 0)
{
Lire(x)
printf("pair");
Si (x mod 2 = 0 ) Alors }
Ecrire (‘’Pair’’) else
Sinon {
Ecrire (‘’Impair’’) printf("impair");
}
Fin si return 0;
Fin } 12
Forme imbriquée : principe
 Syntaxe  Exécution
Si ( condition 1) Alors 1) Evaluer condition 1
Action(s) 1
Sinon 2) Condition 1 vaut vrai: Action(s) 1 sera exécutée
Si (condition 2) Alors Condition 1 vaut faux: Evaluer condition 2
Action(s) 2
Sinon 3) Evaluer condition 2
Si (condition N-1) Alors 4) Condition 2 vaut vrai: Action(s) 2 sera exécutée
Action(s) N-1
Sinon
….
Action(s) N Evaluer condition N-1
Fin si
Condition N-1 vaut vrai: Action(s) N-1 sera exécutée
Fin si
Fin si Condition N-1 vaut faux: Action(s) N sera exécutée
13
Forme imbriquée: exemple
Ecrire un algorithme qui permet de saisir deux entiers A et B puis teste si A>B ou A<B ou A=B
Algorithme Comparaison #include <stdio.h>
Var #include <stdlib.h>
A: entier int main()
B: entier {
Début int A,B;
Ecrire (‘’Donnez la valeur de A’’) printf("Donnez la valeur de A \n");
Lire(A) scanf("%d",&A);
Ecrire (‘’Donnez la valeur de B’’)
printf("Donnez la valeur de B \n");
Lire(B)
scanf("%d",&B);
Si (A > B) Alors
Ecrire (A, ‘’ est supérieur à ’’, B) if (A>B)
Sinon { printf(" %d est superieur a %d ",A,B); }
Si (A < B) Alors else if (A<B)
Ecrire (A, ‘’ est inférieur à ’’, B) { printf(" %d est inferieur a %d ",A,B); }
Sinon else
Ecrire (A, ‘’ est égal à ’’, B) { printf(" %d est egal a %d ",A,B); }
Fin si
Fin si return 0;
Fin } 14
III. Structure conditionnelle à choix
multiple

15
Structure conditionnelle à choix multiple : principe
switch(selecteur)
 Syntaxe identificateur {
une séquence case Listedevaleurs1: actions1;
d’actions break;
Selon <sélecteur> faire case Listedevaleurs2: actions2;
constante,
intervalle de <Liste de valeurs 1> : <traitement 1> break;
constantes …
(même type <Liste de valeurs 2> : <traitement 2> case ListedevaleursN: actionsN;
que le break;
sélecteur)
… default: actionsN+1; break;
<Liste de valeurs N> : <traitement N> }

Sinon
<traitement N+1> La partie sinon est facultative.
Elle est exécutée si aucune des valeurs n’est égale au
Fin selon sélecteur.

16
Structure conditionnelle à choix multiple : exemple
Ecrire un algorithme qui permet de lire un numéro de jour de la semaine (compris entre 1 et 7) et d’afficher le nom
du jour en toutes lettres. #include <stdio.h>
#include <stdlib.h>
Algorithme JourSemaine int main()
Var {
J: entier int J;
Début printf("Donner le numéro du jour \n");
Ecrire (‘’Donnez le numéro du jour de la semaine’’) scanf("%d",&J);
Lire(J) switch (J)
Selon J faire {
1 : Ecrire (‘’Dimanche’’) case 1: printf("Dimanche"); break;
2 : Ecrire (‘‘Lundi’’) case 2: printf("Lundi"); break;
3 : Ecrire (‘’Mardi’’) case 3: printf("Mardi"); break;
4 : Ecrire (‘’Mercredi’’) case 4: printf("Mercredi"); break;
5 : Ecrire (‘’Jeudi’’) case 5: printf("Jeudi"); break;
6 : Ecrire (‘’Vendredi’’) case 6: printf("Vendredi"); break;
7 : Ecrire (‘’Samedi’’) case 7: printf("Samedi"); break;
Sinon default: printf("Jour invalide"); break;
Ecrire (‘’Jour invalide’’) }
Fin selon return 0; 17
Fin }