Vous êtes sur la page 1sur 24

Les structures conditionnelles

Année universitaire
2021-2022
Problématique

• La résolution de certains problèmes algorithmique ne


peut se faire que sous condition et pour chaque condition un
traitement spécifique sera déclenché et exclura les
traitements des autres conditions
• Exemple:
- On veut afficher le résultat d’un étudiant (Echec, Succès) à partir de sa
moyenne.
 Besoin d’une structure qui évalue la condition de sa réussite !

• On doit alors utiliser une structure algorithmique capable de


prendre en charge ce traitement.

Une telle structure est appelée structure


conditionnelle
2
Contexte et objectifs

• Dans le cadre de ce cours, l’objectif visé est


la maîtrise des structures conditionnelles en
C

• On distingue plusieurs formes de structures


conditionnelles:
– 1. Structure conditionnelle à un seul choix.
– 2. Structure conditionnelle à deux choix.
– 3. Structure conditionnelle imbriquée.
– 4. Structure conditionnelle à choix multiple. 3
1.Structure conditionnelle à un choix

• Définition :
– Il s’agit d’un traitement qui ne peut s’exécuter
que si une condition logique est satisfaite ; dans
le cas contraire, rien ne devrait se passer.
Les structures
conditionnelles à
un choix…?

4
1.Structure conditionnelle à un choix

• Organigramme
– Les conditions s'exprimentavec des
opérateurs logiques ou des opérateurs de
comparaisons
Oui Condition Non
Vrai?
instruction1
instruction2
……

Suite du programme

5
1.Structure conditionnelle à un choix

• Syntaxe:

Toutes les conditions


En En Langage sont entre des
Algorithmique C parenthèses
Si (condition) alors if (condition)
{ Si la condition est vraie
Instruction1 alors l'instruction ou le
Instruction1;
Instruction2 bloc d'instructions qui
Instruction2;
…… suit le "if" est exécuté
……
Finsi }
S'il y a plusieurs
instructions après le "if",
on les encadre par des
accolades : { }
6
1.Structure conditionnelle à un choix

• Exemple
– On veut donner une prime pour les salariés mariés
ayant plus de 3 enfants
#include <stdio.h>
void main()
{
int Nbr_Enfants;
/* Saisie de
Nbr_Enfan
ts */
printf("Com
bien avez-
vous
if (Nbr_Enfants >3) {
d’enfants
printf(« Vous avez une prime! \n");
?
} \n ");
} scanf("%d",
&Nbr_Enf 7

ants);
1.Structure conditionnelle à un choix

• Exercice d’application
– Ecrire un algorithme permettant de résoudre
l’équation de 1er degré : ax+b=0
• (on suppose que a >0)

8
2.Structure conditionnelle à deux choix

• Définition :
– Il s’agit d’un traitement qui ne peut s’exécuter
que si une condition logique est satisfaite ;
dans le cas contraire, un autre traitement sera
exécuté.
Les structures
conditionnelles à
deux choix…??

9
2.Structure conditionnelle à deux choix

• Organigramme
– Les conditions s'exprimentavec des
opérateurs logiques ou des opérateurs de
comparaisons

Oui Condition Non


Vrai?
instruction1 instruction1’
instruction2 instruction2’
…… ……

Suite du programme

10
2.Structure conditionnelle à deux choix

• Syntaxe:
En En Langage C
Si la condition est vraie
Algorithmique alors l'instruction ou le
if (condition)
Si (condition) alors bloc d'instructions qui
{ suit le "if" est exécuté,
Instruction sinon ou le bloc
Instruction1;
1 d'instructions qui suit le
Instruction2;
Instruction "else" est exécuté
……
2
…… } else {
Sinon Instruction1’;
Instruction2’; S'il y a plusieurs
Instruction1 instructions après le "if"
……
Fins
’ ou après le "else" , on
i Instruction2 } les encadre par des
’ accolades : { }
……
11
2.Structure conditionnelle à deux choix
• Exemple
– On veut afficher le maximum de deux nombres
entiers a et b
#include <stdio.h>
void main()
{ int a,b;
/* Saisie de a et de b */
printf("Donnez les valeurs de a et de b ");
scanf("%d %d",&a,&b);

/* Structure SI ALORS SINON */


if (a>b){
printf("a=%d est supérieur à b=%d \n",a,b);

} else {
printf("b=%d est supérieur ou égal à a=%d \n",b,a);
}
} 12
2.Structure conditionnelle à deux choix

• Exercice d’application
– Écrire un programme en C qui affiche si
l'utilisateur est majeur (>= 18 ans) ou mineur.

13
3.Structure conditionnelle imbriquée

• Définition :
– Il s’agit d’un traitement qui ne peut s’exécuter que si
une condition logique est satisfaite ; dans le cas
contraire, un autre traitement sera exécuté.
– Les différents traitements ne comportent plus
uniquement des actions simples mais on peut leur
imbriquer des structures conditionnelles.

Les structures
conditionnelles

imbriquées…
??

14
3.Structure conditionnelle imbriquée

• Organigramme

Oui Condition1 Non


Vrai?

Oui Condition2 Non


instr ction1 … Vrai?
u
Oui Non
instruc ion 2… Condition n-1
t Vrai?
instruction n-1
instruction n

Suite du programme

15
3.Structure conditionnelle imbriquée
• Syntaxe:
En Algorithmique En Langage
C
Si (condition1) alors if (condition1) -Les tests sont effectués
chacun leur tour et s’ils
Instruction1 { ne sont pas satisfait, on
…… Instruction1; passe au test suivant.
Sinon si } ……if (condition2)
else
-Si aucun test n’est
(condition2) { satisfait, alors c’est la
Instruction2 Instruction2; dernière clause "else"
……. } ……if (condition3)
else qui est exécutée.
Sinon si {
(condition3) - Ce dernier "else" est
Instruction3;
facultatif (donc si on ne
Instruction3 ……
le met pas, il est
……. } else { possible que rien ne soit
Sinon …
Instruction n; exécuté)
Instruction n } …
…….
16
Finsi
3.Structure conditionnelle imbriquée

• Exemple
– On veut afficher affiche la mention d'un étudiant en fonction
de sa moyenne
#include <stdio.h>
void main()
{ float moyenne;
/* Saisie de la moyenne*/
printf(" Quel est votre moyenne ? \n");
scanf("%f",&moyenne);

if(moyenne < 12) {


printf("Passable \n");
}else if(moyenne < 14) {
printf("Assez Bien \n");
}else if(moyenne < 16) {
printf("Bien \n");
} else if(moyenne >= 16) {
printf(" Très
Bien \n");
17
} }
3.Structure conditionnelle imbriquée

• Exercice d’application
– Ecrire un programme en C qui demande un
nombre à l'utilisateur et l'informe ensuite si ce
nombre est positif, négatif ou nul

18
4.Structure conditionnelle à choix multiple

• Définition :
– Une structure à choix multiple est une structure qui à
partir d’un choix va se positionner sur le bon traitement
sans passer par les autres

Les structures
conditionnelles à
choix
multiples…??

19
4.Structure conditionnelle à choix multiple

• Organigramme *

Oui Expression Non


= valeur1?

Oui Expression Non


instr ction1 …
u = valeur2?

Oui Non
instruc ion2 … Expression
t = valeur3?
instruction3 … Instruction par
défaut

Suite du programme

* Cet organigramme est relatif à l’exemple en C mentionné dans le Diapo 21 20


4.Structure conditionnelle à choix multiple
• Syntaxe:
En Langage C
En Algorithmique

Le mot
switch (expression) {
Selon (expression) Faire clé "break" indique la
case valeur1 : sortie de la structure
valeur1 : Instruction 1 conditionnelle.
Instruction1; break;
valeur2 : Instruction
case valeur2 :
2 valeur3 : Instruction2; break;
Instruction 3 case valeur3 :
Le mot
…… Instruction3; break;
clé "default" précède
Sinon …… la liste d'instructions
Traitement par défaut default : qui sera exécutée si
Finselon Instruction par l'expression n'est
} défaut jamais égale à une
des valeurs..

21
3.Structure conditionnelle imbriquée

• Exemple
#include <stdio.h>
void main()
{ char choix;
printf("\
n\n\t\t
tapez a ,
b , c ou
d \n ");de choix switch*/
/* Structure
/* saisie
switch(choix)
de la{
touche */ 'a': printf("Exécution de l'ACTION1");break;
case
choix=ge
case 'b': printf("Exécution de l'ACTION2");break;
tchar();
case 'c': printf("Exécution de l'ACTION3");break;
case 'd': printf("Exécution de l'ACTION4");break;
default : printf("Mauvaise touche, pas d'ACTION");
}
}
22
4.Structure conditionnelle à choix multiple

• Exercice d’application

– Ecrire un programme en C qui permet de lire


la valeur d’une température de l’eau et
d’afficher son état : liquide, solide ou gaz.

23
Merci Pour
votre
attention!

24

Vous aimerez peut-être aussi