Téléchargez aux formats PDF ou lisez en ligne sur Scribd
Les structures conditionnelles 26
Chapitre 3 : Les structures conditionnelles
1. Introduction
Les algorithmes vus__précédemment —sont_exécutés
séquentiellement. Les ruptures des séquences peuvent étre
effectuées par des structures de contréle classées en deux
catégories : les structures conditionnelles et les boucles. Les
structures conditionnelles (simples, composées et multiples) sont
aussi appelées structures alternatives, structures de choix ou les
tests.
2. Structure conditionnelle simple
Format général : Si Alors
Cette opération est lue comme suit : Si la condition est vérifiée
(VRAI) alors la séquence d’opérations s’exécute.
La condition est une expression logique qui retourne la valeur
VRAI ou FAUX. L’expression peut étre simple (condition simple)
ou composée (plusieurs conditions composées avec des opérateurs
logiques ET, OU et NON).
La séquence peut contenir une ou un ensemble d’opérations. Si la
séquence contient plusieurs opérations alors elles sont séparées
par des points virgules, et mises entre début et fin. Si la séquence
contient une seule opération alors les mots début et fin ne sont
pas obligatoires.
La structure conditionnelle simple peut étre représentée dans un
organigramme comme suit
NON a our
Séquence
Voyons les exemples suivants :
— Si (X > 10) Alors Ecrire(X) ; On affiche la valeur de X si elle
est supérieure & 10.Les structures conditionnelles 27
- Si (X>10) Alors début Ecrire(X) ; ¥ < X ; fin ; On affiche
la valeur de X et on affecte la valeur de X a Y, si X est
supérieure & 10.
— Si (X > 10) ET (X < 15) Alors Ecrire(X) ; On affiche la
valeur de X si elle est prise entre 10 et 15.
— Si (X>10) Alors Si (X < 15) Alors Ecrire(X) ; Cet exemple
est équivalent & l’exemple précédent, sauf que cette fois-ci on
utilise des tests imbriqués.
- Si (K < 10) Alors Si (X > 15) Alors Ecrire(x) ; Dans cet
exemple, la valeur de X n’est jamais affichée car il n’y a
aucun cas qui satisfait la condition.
En Pascal, la structure conditionnelle simple s’écrit sous la forme:
if then ;
Exemple : if (X > 10) then write(X);
Si la séquence contient plus d’une instruction alors le begin et
end sont obligatoires pour délimiter la suite d’instructions.
3. Structure conditionnelle composée
Format général: Si Alors Sinon
.
Cette opération est lue comme suit : Si la condition est vérifiée
(VRAI) alors les opérations de la séquence] sont exécutées. Dans
le cas contraire, ce sont les opérations de la séquence2 qui vont
étre exécutées.
Les mots début et fin sont utilisés pour délimiter une séquence de
plusieurs opérations.
La structure conditionnelle composée peut étre représentée dans
un organigramme comme suit :
N
‘Séquence2 Séquencel
Soit exemple suivant: Si (X > 10) Alors Ecrire(X) Sinon
Ecrire(’valeur non acceptée’) ; Dans cet exemple, la valeur de XLes structures conditionnelles 28
est affichée si elle est supérieure 4 10, sinon on affiche un
message d’erreur.
En Pascal, on aura : if (x > 10) then writeln(x) else writeln (‘valeur non
acceptée’) ;
Si nous avions une suite d’instructions dans une séquence alors on
aurait dd utiliser les mots begin et end.
Remarques
— En Pascal, le else n’est jamais précédé par un point virgule
GO).
— Le else se rapporte toujours au if...then le plus proche. Pour
casser ce rapport, il est possible d’utiliser le begin et end.
Par exemple, dans le cas de :
if (x > 10) then
begin if (x < 20) then writeln(x) ; end
else writeln (‘valeur non acceptée’) ;
le else suit le premier if et non pas le deuxiéme.
4. Structure conditionnelle multiple
La structure conditionnelle multiple, appelée aussi I’alternative
classifiée ou le choix multiple, permet de comparer un objet
(variable ou expression) A toute une série de valeurs, et d’exécuter
une séquence d’opérations parmi plusieurs, en fonction de la
valeur effective de l’objet. Une séquence par défaut peut étre
prévue dans le cas ott l’objet n’est égal & aucune des valeurs
énumérées.
Chaque séquence est étiquetée par une valeur. Pour que cette
séquence soit choisie, il faut que sa valeur soit équivalente &
l’expression. La structure conditionnelle multiple se présente
comme suit :
Cas de
Valeur 1 :
Valeur 2 :
Valeur n :
Sinon
fin ;
Ceci est Equivalent & :Les structures conditionnelles 29
Si (variable ou expression = Valeurl) alors
Sinon Si (variable ou expression = Valeur2) alors
Sinon Si (variable ou expression = Valeur n) alors
Sinon
La structure conditionnelle multiple peut étre représentée dans un
organigramme comme suit :
OU Séquence!
INON
OUT sequence?
TNon
Now a OUI sequence n
Séquence par défaut
Dans l’exemple suivant, la valeur de X est affichée en lettre, si
elle est égale & 1 ou 2, sinon afficher un message d’erreur :
Cas (X) de
1: Ecrire(‘Un’) ;
2: Ecrire(Deux’)
Sinon Ecrire(’Valeur sup a deux ou inf a un’) ;
fin ;
En Pascal ga s’écrit :
case (X) of
1: writeln(‘Un’);
2: writeln(‘Deux)
else writeln(‘Valeur sup a deux ou inf a un’) ;Les structures conditionnelles 30
- Dans instruction de choix multiple, ordre de présentation
ne change rien.
- L’expression et les valeurs 4 choisir doivent étre de méme
type.
- Si une séquence est composée d’un ensemble d’instructions,
elles doivent étre prises entre begin et end.
5. Le branchement
Il est possible d’effectuer un saut direct vers une opération en
utilisant une opération de branchement de la forme aller a
iquette>. Les étiquettes sont des adresses qui doivent étre
déclarées dans la partie déclaration de l’algorithme.
Exemple :
Algorithme afficher_nbr_positif ;
Etiquettes 10 ;
Variables
1: entier ;
Début
Lire ();
Si (I<0) Alors aller a 10;
Ecrire (1) ;
10 : Ecrire(’Merci’) ;
Fin.
En Pascal ga s’écrit :
program afficher_nbr_positif ;
label 10 ;
var I: integer ;
begin
readIn (1);
if (I<0) then goto 10 ;
writeln (1) ;
10: writeIn(Merci’) ;
end.
On note qu'il est déconseillé d’utiliser instruction de
branchement, et cela pour réduire la complexité des programmes
en termes de temps.Les structures conditionnelles 31
6. Exercices corrigés
6.1. Exercices
Exercice 1:
Ecrire un algorithme qui affiche la valeur absolue d’un nombre
saisi au clavier. Traduire l’algorithme en Pascal.
Exercice 2 :
Ecrire ’algorithme qui compare deux nombres réels. Traduire
Palgorithme en Pascal.
Exercice 3:
Ecrire Valgorithme permettant & partir d’un menu affiché,
deffectuer la somme ou le produit ou la moyenne de trois
nombres. Nous appelons menu, l'association d’un numéro
séquentiel aux différents choix proposés. Traduire I’algorithme en
Pascal.
Exercice 4:
Ecrire l’algorithme qui détermine le plus grand des trois nombres
lus a partir du clavier. Traduire l’algorithme en Pascal.
Exercice 5:
Ecrire ’algorithme permettant de lire le prix unitaire (pu) d’un
produit et la quantité commandée (gtcom), ensuite de calculer le
prix de livraison (pl), le taux de la réduction (tr) et en fin calculer
le prix & payer (pap) sachant que :
— La livraison est gratuite, si le prix des produits (tof) est
supérieur & 500 DA. Dans le cas contraire, le prix de la
livraison est de 2% du tot.
— La réduction est de 5%, si tot est compris entre 200 et 1000
dinars et de 10% au-dela.
Traduire l’algorithme en Pascal.
6.
Solution 1:
Algorithme valeur_absolue ;
Variables
X, Val_abs : réel ;
Début
Corrigés