Vous êtes sur la page 1sur 16

Structures conditionnelles

A. Souque – UGA, Département I3L 1


Structures conditionnelles

Pour exécuter des instructions si une ou des conditions sont
remplies

Équivaut à : "Si … alors …"

En pseudo-code :
Si condition alors
bloc d'instructions
Fin Si

Le bloc d'instructions est exécuté seulement si la condition
(ou test) est VRAI

A. Souque – UGA, Département I3L 2


Structures conditionnelles
Booléen :

expression qui vaut VRAI ou FAUX

il peut s'agir d'une variable ou d'une condition
Condition :

souvent une comparaison entre 2 valeurs

on utilise les opérateurs de comparaison :
< strictement inférieur à <= inférieur ou égal à
> strictement supérieur à >= supérieur ou égal à
== égal à != différent de

A. Souque – UGA, Département I3L 3


Structures conditionnelles

Variable moy : entier (décimal serait plus approprié, mais pour faire plus
simple on reste sur entier)
Début
Écrire "Quelle est la moyenne du semestre ?"
Lire moy
Si moy < 10 Alors
Écrire "Il faut aller en session 2"
Fin Si
Fin
▸ Le message sera affiché seulement si le contenu de moy est strictement
plus petit que 10.
▸ Et dans le cas où moy est supérieur ou égal à 10 ?
A. Souque – UGA, Département I3L 4
Structures conditionnelles
"Si … alors … sinon … "

En pseudo-code :
Si condition alors
bloc d'instructions 1
Sinon
bloc d'instructions 2
Fin Si


Le bloc d'instructions 1 est exécuté seulement si la condition est VRAI

Le bloc d'instructions 2 est exécuté seulement si la condition est FAUX

A. Souque – UGA, Département I3L 5


Structures conditionnelles
Variable moy : entier
Début
Écrire "Quelle est la moyenne du semestre ?"
Lire moy
Si moy < 10 Alors
Écrire "Il faut aller en session 2"
Sinon
Écrire "Semestre validé"
Fin Si
Fin

A. Souque – UGA, Département I3L 6


"Si … alors … " Bloc d'instructions exécuté si condition VRAI.
Pas d'instruction si FAUX.
Si condition alors
bloc d'instructions => une condition
Fin Si => des instructions si VRAI

"Si … alors … sinon … " Bloc 1 d'instructions exécuté si condition VRAI.


Si condition alors Bloc 2 d'instructions exécuté si condition FAUX
bloc1 d'instructions => une condition
Sinon => des instructions si VRAI
bloc2 d'instructions => d'autres instructions sinon (si FAUX)
Fin Si
"Si … alors … sinonSi … alors … sinon … "exécuté si condition1 VRAI
Bloc 1 d'instr.
Bloc 2 d'instr. exécuté si condition1 FAUX et condition2
Si condition1 alors VRAI
bloc1 d'instructions
Bloc 3 d'instr. exécuté si condition1 FAUX et condition2
SinonSi condition2 alors FAUX
bloc2 d'instructions
=> plusieurs conditions
Sinon => nombre de "SinonSi" non limité
bloc3 d'instructions => "Sinon" toujours en dernier. Gère tous les cas ne
Fin Si A. Souque – UGA, Département I3L rentrant pas dans les conditions d'avant7
Opérateurs logiques

Il est fréquent d'avoir plusieurs conditions :

Si on est mardi ET pas en vacances alors on a TD d'info.


Si on est étudiant OU sénior OU famille nombreuse alors on
a tarif réduit.


On utilise ET et OU pour combiner plusieurs conditions

A. Souque – UGA, Département I3L 8


Opérateurs logiques

Si condition Alors Si VRAI Alors


instruc1 on fait instruc1
Sinon signifie : Sinon (sous-entendu si NON VRAI,
instruc2 donc si FAUX)

FinSi on fait instruc2.

Lorsque la condition est composée de plusieurs sous-conditions


avec ET ou OU :

Si cond1 ET cond2 Alors signifie  : Si VRAI ET VRAI Alors ...



A. Souque – UGA, Département I3L 9
Opérateurs logiques
Avec ET toutes les conditions doivent Avec OU il suffit d'une condition VRAI
être VRAI pour avoir VRAI pour avoir VRAI
VRAI ET VRAI donne VRAI VRAI OU VRAI donne VRAI
VRAI ET FAUX donne FAUX VRAI OU FAUX donne VRAI
FAUX ET VRAI donne FAUX FAUX OU VRAI donne VRAI
FAUX ET FAUX donne FAUX FAUX OU FAUX donne FAUX

NON VRAI = FAUX NON s'applique uniquement à ce qui le suit immédiatement :


NON VRAI ET VRAI = NON(VRAI) ET VRAI = FAUX ET VRAI = FAUX
NON FAUX = VRAI NON(VRAI ET VRAI) = NON(VRAI) = FAUX
ET est proritaire sur OU :
FAUX ET FAUX OU VRAI = (FAUX ET FAUX) OU VRAI = FAUX OU VRAI = VRAI
FAUX ET (FAUX OU VRAI ) = FAUX ET VRAI = FAUX

A. Souque – UGA, Département I3L 10


Équivalences (Si imbriqué/Sinon Si)
Un SI imbriqué dans un SINON... … peut se réécrire en un SINON SI

Si condition1 alors Si condition1 alors


bloc1 d'instructions bloc1 d'instructions
Sinon SinonSi condition2 alors
Si condition2 alors bloc2 d'instructions
bloc2 d'instructions Sinon
Sinon bloc3 d'instructions
bloc3 d'instructions Fin Si
Fin Si
Fin Si

A. Souque – UGA, Département I3L 11


Équivalences (Si imbriqué/Si...ET...)
Un SI imbriqué dans un SI… … peut se réécrire en une condition
composée de plusieurs sous-conditions
Si condition1 alors
Si condition2 alors Si condition1 ET condition2 alors
blocA d'instructions blocA d'instructions
Sinon Sinon
blocB d'instructions blocB d'instructions
Fin Si Fin Si
Sinon
blocB d'instructions
Fin Si

A. Souque – UGA, Département I3L 12


Équivalences (ET / OU / NON)
Une condition avec un ET… ...a toujours un équivalent avec un OU...

Si cond1 ET cond2 alors Si non(cond1) OU non(cond2) alors


blocA d'instructions blocB d'instructions
Sinon Sinon
blocB d'instructions blocA d'instructions
Fin Si Fin Si
...Et inversement...
Si cond1 OU cond2 alors Si non(cond1) ET non(cond2) alors
blocA d'instructions blocB d'instructions
Sinon Sinon
blocB d'instructions blocA d'instructions
Fin Si Fin Si

A. Souque – UGA, Département I3L 13


Variable booléenne dans une condition
Condition vaut VRAI Condition vaut VRAI

Si variable==Vrai alors Si variable alors


blocA d'instructions ...
Sinon À noter que l'algo du haut
équivaut à celui du bas
blocB d'instructions (car les blocs A et B ont été
Fin Si permutés)

Condition vaut VRAI Condition vaut NON FAUX, donc VRAI

Si variable==Faux alors Si non variable


blocB d'instructions alors
Sinon ...
Comme variable vaut FAUX,
blocA d'instructions il faut utiliser son contraire, non variable,
Fin Si pour que la condition donne VRAI
et que blocA puisse être exécuté.
A. Souque – UGA, Département I3L 14
Variable booléenne dans une condition
Pour utiliser une variable booléenne dans une condition :
Pas besoin de tester l'égalité avec Vrai. De même, pour tester si variable vaut Faux,
Ainsi, au lieu de : au lieu de :
Si variable==Vrai alors Si variable==Faux alors
blocA d'instructions blocB d'instructions
Sinon Sinon
blocB d'instructions blocA d'instructions
Fin Si Fin Si
…on écrit directement : …on écrit directement :
Si variable alors Si non variable alors
blocA d'instructions blocB d'instructions
Sinon Sinon
blocB d'instructions blocA d'instructions
Fin Si Fin Si

A. Souque – UGA, Département I3L 15


Équivalences (condition/non condition)
De manière générale, … a une structure équivalente en utilisant le contraire
toute structure conditionnelle du type de la condition initiale et en permutant les blocs
d'instructions :
Si condition alors
Si non condition alors
blocA d'instructions
blocB d'instructions
Sinon
Sinon
blocB d'instructions
blocA d'instructions
Fin Si
Fin Si
Si nb1 < nb2 alors Si a == b alors Si varBool alors
blocA d'instructions blocA d'instructions blocA d'instructions
Sinon Sinon Sinon
blocB d'instructions blocB d'instructions blocB d'instructions
Fin Si Fin Si Fin Si

Si nb1 >= nb2 alors Si a != b alors Si non varBool alors


blocB d'instructions blocB d'instructions blocB d'instructions
Sinon Sinon Sinon
blocA d'instructions blocA d'instructions blocA d'instructions
Fin Si Fin Si Fin Si

A. Souque – UGA, Département I3L 16

Vous aimerez peut-être aussi