Cours Algorithme et Programmation

publicité
Faculté des Sciences de Gabès
Cours Algorithme et Programmation
Chapitre 4 : Structures conditionnelles
Faîçal Felhi
1
Faîçal Felhi - [email protected]
[email protected]
Structures
 Il a été démontré que pour représenter n'importe
quel algorithme, il faut disposer des trois
possibilités suivantes:
 La structure de séquence qui indique que les opérations
doivent être exécutées les unes après les autres
 la structure de répétition qui indique qu'un ensemble
d'instructions doit être exécuté plusieurs fois.
 la structure de choix qui indique quel ensemble
d'instructions doit être exécuté suivant les circonstances
2
Faîçal Felhi - [email protected]
La structure alternative
 La structure alternative se présente en général sous la
forme :
si expression alors
première séquence d'instructions
sinon
deuxième séquence d'instructions
fsi
3
Faîçal Felhi - [email protected]
La structure alternative
 où expression conditionne le choix d'un des deux
ensembles d'instructions. Cette expression peut être soit
vraie soit fausse
 Si l'expression est vraie, la première séquence
d'instruction sera exécutée et la seconde sera ignorée;
 Si l'expression est fausse, seule la seconde séquence
d'instructions sera effectuée.
4
Faîçal Felhi - [email protected]
La structure alternative
 Le mot sinon indique où se termine la première
séquence d'instructions et où commence la seconde.
 Le mot fsi (abrégé de "fin de si") indique où se termine
la seconde séquence d'instructions.
5
Faîçal Felhi - [email protected]
La structure alternative
 Dans certains cas, lorsque l'expression est fausse,
aucune instruction ne doit être exécutée. La
condition s'exprime alors plus simplement sous la
forme:
si expression alors
séquence d'instructions
fsi
 Quoi qu‟il arrive, les instructions qui suivent fsi
seront exécutées.
 Chacune des séquences d'instructions d'un si ... fsi
peut contenir des si...fsi. On dit alors que les
structures sont imbriquées.
6
Faîçal Felhi - [email protected]
La structure alternative
 Prendre l‟habitude de décaler et d‟utiliser les fsi
si expression1 alors
si expression2 alors
instruction1
sinon
instruction2
Différent de …
7
Faîçal Felhi - [email protected]
Instruction de choix simple
 Rôle: Permet d‟exécuter des instructions quand une
condition est vérifiée
 Syntaxe:
Si condition Alors
DébutSi
{ Instructions }
FinSi
8
Faîçal Felhi - [email protected]
Instruction de choix simple
 Ex: on veut afficher un message quand X est positive
Si X > 0 Alors
DébutSi
Ecrire(„X est positive‟)
FinSi
9
Faîçal Felhi - [email protected]
Instruction de choix avec alternative
 Rôle: permet de spécifier ce qu‟il faut faire dans le cas
où la condition n‟est pas vérifiée
 Syntaxe:
Si condition Alors
DébutSi
{ Instructions }
FinSi
Sinon
DébutSinon
{ Instructions‟ }
FinSinon
10
Faîçal Felhi - [email protected]
Instruction de choix avec alternative
 Exemple :
Si X > 0 Alors
DébutSi
Ecrire(„X est positive‟)
Finsi
Sinon
DébutSinon
Ecrire(„X n‟est pas positive)
FinSinon
11
Faîçal Felhi - [email protected]
Instruction de choix
 On peut imbriquer les conditions
 Exemple
12
Si X > 0 alors
DébutSi
Ecrire(„ X supérieur à 0‟)
Finsi
Sinon
DébutSinon
Si X=0 alors
DébutSi
Ecrire(„X égal à 0‟)
FinSi
Sinon
DébutSinon
Ecrire(„X inférieur à 0‟)
FinSinon
FinSinon
La structure alternative
 Exemple :
 2 joueurs A et B
 Chacun montre un certain nombre de doigts (de 0 à 5)
 Si la somme des nombres de doigts montrés est paire, le
premier joueur a gagné
 Sinon c'est le second.
 Le problème est de faire prendre la décision par
l'ordinateur.
13
Faîçal Felhi - [email protected]
La structure alternative
 En Français :





prendre connaissance du nombre de doigts de A
prendre connaissance du nombre de doigts de B
calculer la somme de ces deux nombres
si la somme est paire, A est le gagnant
si la somme est impaire, B est le gagnant.
 Remarque: Pour déterminer si un nombre est pair ou
impair, il suffit de calculer le reste de la division par 2
(.. modulo 2): il vaut 0 dans le premier cas et 1 dans
le second.
14
Faîçal Felhi - [email protected]
La structure alternative
 En Algorithmique :
Algorithme Jeux
Var na,nb,reste entier
Debut
Ecrire (“Donner nombre doits Joueur1”)
Lire (na)
Ecrire (“Donner nombre doits Joueur2”)
Lire (nb)
reste (na + nb) mod 2
Si (reste = 0) alors Ecrire ("Le joueur A a gagné")
Sinon Ecrire ("Le joueur B a gagné")
FinSi
Ecrire (« Fin Jeux")
Fin
15
Faîçal Felhi - [email protected]
Instruction de choix simple
 La condition peut être composée en utilisant des „ET‟ et
des „OU‟
Exemple:
Si ( ((Y=3) OU (Z<4)) ET (X>0)) Alors
DébutSi
{Instructions}
FinSi
16
Faîçal Felhi - [email protected]
Expressions logiques
p
q
p et q
p ou q
VRAI
VRAI
VRAI
VRAI
VRAI
FAUX
FAUX
VRAI
FAUX
VRAI
FAUX
VRAI
FAUX
FAUX
FAUX
FAUX
Pour avoir vrai:
OU= l‟un ou l‟autre doit être vrai
ET= l‟un et l‟autre doivent être vrai
17
Faîçal Felhi - [email protected]
Expressions logiques
p
non p
VRAI
FAUX
FAUX
VRAI
 Il existe des thèorèmes :
 non (p et q) est équivalent à (non p) ou (non q)
 non (p ou q) est équivalent à (non p) et (non q)
18
Faîçal Felhi - [email protected]
Expressions logiques et variables booléennes
 a  1; b  2; c  3
 (b > 8) ou (c < 1) ?







19
F ou F = F
(b > 0) ou (c > 1) ?
V ou V= V
(b > 9) ou (c > 1) ?
F ou V = V
(b > a) et (c > b) ?
V et V =V
(b > a) et (c < 0) ?
V et F = F
non (c < a) ?
Non(F)=V
non ((b > a) et (c > b)) ?
Non(V et V)=non(V)=F
((b > a) et (c > b)) ou (a < 0) ? (V et V)ou(F)=V ou F=V
Faîçal Felhi - [email protected]
Expressions logiques et variables booléennes
 a  3; b  1; c  2
 (b > a) et (c > b) ?
 (b > a) et (c < 0) ?
 non (c < a) ?
 non ((b > a) et (c > b)) ?
 ((b > a) et (c > b)) ou (a < 0) ?
20
Faîçal Felhi - [email protected]
Téléchargement