Vous êtes sur la page 1sur 7

DAIGL BTS Informatique de gestion 1re anne

DAIGL_IG1_C04 LES STRUCTURES CONDITIONNELLES 2/2 1


Chapitre 4 : Les structures conditionnelles 2/2
1. La structure alternative multiple................................................................................. 2
2. Complment sur les expressions conditionnelles........................................................ 4
2.1. Les comparaisons simples ....................................................................................... 4
2.2. Les expressions complexes...................................................................................... 5
2.3. Les variables boolennes......................................................................................... 5
3. Exercices..................................................................................................................... 6
DAIGL BTS Informatique de gestion 1re anne
DAIGL_IG1_C04 LES STRUCTURES CONDITIONNELLES 2/2 2
1. La structure alternative multiple
La structure SELON permet de choisir le traitement effectuer en fonction de la valeur ou de
l'intervalle de valeurs d'une variable ou d'une expression. Cette structure permet de remplacer
avantageusement une succession de structures SI ALORS.
Syntaxe
SELON expression
CAS valeur1 : bloc_instructions_1
CAS valeur2 : bloc_instructions_2
CAS valeur3 : bloc_instructions_3
...
SINON : bloc_instructions_par_dfaut
FINSELON
La ligne SINON est facultative : elle permet de dfinir le traitement raliser dans tous
les cas non lists prcdemment.
Attention, les valeurs exprimes dans les CAS (valeur1, valeur2, ) doivent tre de
mme type que l'expression value dans le SELON
Exemples
Cas 1 : Les diffrents cas sont des valeurs littrales de type numrique
Voil l'algorithme qui affiche le mois en toute lettre selon son numro.
Le numro du mois est mmoris dans la variable noMois.

VAR
noMois : entier

DEBUT

SELON noMois
CAS 1 : AFFICHER "Janvier"
CAS 2 : AFFICHER "Fvrier"
CAS 3 : AFFICHER "Mars"

CAS 12 : AFFICHER "Dcembre"


SINON : AFFICHER "mois doit tre compris entre 1 et 12"
FINSELON

Ce mme algorithme crit avec la structure SI aurait ncessit 13 appels de cette intruction
soit 13x3=39 lignes de code au lieu de 15 utiliss avec la structure SELON.
DAIGL BTS Informatique de gestion 1re anne
DAIGL_IG1_C04 LES STRUCTURES CONDITIONNELLES 2/2 3
Cas 2 : Les diffrents cas sont des valeurs littrales de type chane
Algorithme qui affiche le la somme, le produit ou la moyenne de 2 nombres selon le type
opration choisi et mmoris dans la variable typeOpe

VAR
typeOpe : chaine

DEBUT

SELON typeOpe
CAS "somme" : AFFICHER "somme = ", nb1 + nb2
CAS "produit" : AFFICHER "produit = ", nb1 * nb2
CAS "moyenne" : AFFICHER "moyenne = ", (nb1 + nb2) / 2
SINON : AFFICHER "type opration incorrect"
FINSELON

Noter la prsence de guillemets pour entourer la valeur de la variable typeOpe qui


est de type chaine
Cas 3 : Les diffrents cas possibles sont dcrits par des intervalles de valeurs (taux de
remise diffrent selon le montant d'achat)

VAR
montant : rel

DEBUT

SELON montant
CAS < 1000 :
montantRemise 0
AFFICHER "Aucune remise"
CAS 1000 et < 3000 :
montantRemise montant * 2 / 100
AFFICHER "Remise de 2%"
CAS 3000 :
montantRemise montant * 5 / 100
AFFICHER "Remise de 5%"
FINSELON
montant montant * montantRemise

Plusieurs instructions peuvent tre excutes l'intrieur de chaque cas


ATTENTION : cette syntaxe n'est pas utilisable dans tous les langages !
DAIGL BTS Informatique de gestion 1re anne
DAIGL_IG1_C04 LES STRUCTURES CONDITIONNELLES 2/2 4
Cas 4 : On value une expression et non pas une variable

VAR
note1, note2, note3 : rel

DEBUT

SELON (note1 + note2 + note3) / 3


CAS < 10 : AFFICHER "Refus"
CAS 10 et < 13 : AFFICHER "Admis"
CAS 13 et < 16 : AFFICHER "Admis mention Bien"
CAS 10 : AFFICHER "Admis mention Trs bien"
FINSELON

Exercices n1 3
2. Complment sur les expressions conditionnelles
Une expression conditionnelle (ou expression logique, ou expression boolenne) est une expression
dont la valeur est soit VRAI soit FAUX. Il existe plusieurs types dexpressions conditionnelles.
2.1. Les comparaisons simples
Une condition simple est une comparaison de deux expressions de mme type.
Exemples
a < 0 comparaison d'entiers ou de rels
code = 's' comparaison de caractres (code tant une variable de type caractre)
Les symboles de comparaison utilisable en algorithmique sont :
< > = >= <= <>
Pour les comparaisons de caractres, on utilise l'ordre ASCII, qui respecte lordre alphabtique.
Une lettre place avant une autre dans l'ordre alphabtique sera infrieure l'autre
'a' < 'b' et 's' > 'm'
Les majuscules sont infrieures aux minuscules
'A' < 'B' mais 'B' < 'a'
Les chiffres sont infrieurs aux caractres
'9' < 'A'
Attention, une condition simple ne veut pas dire une condition courte. Une condition simple peut
tre la comparaison de deux expressions comme:
(a + b - 3) * c (5 * y 2) / 3
Exercice n4 et 5
DAIGL BTS Informatique de gestion 1re anne
DAIGL_IG1_C04 LES STRUCTURES CONDITIONNELLES 2/2 5
2.2. Les expressions complexes
Les conditions (ou expressions conditionnelles) peuvent aussi tre complexes, c'est--dire formes
de plusieurs conditions simples ou variables boolennes relies entre elles par les oprateurs
logiques ET, OU, NON.
Exemples
SI a < 0 ET b < 0 ALORS

SI (a +3 = b et c < 0) OU (a = c *2 et b c) ALORS

ET
Une condition compose de deux conditions simples relies par ET est vraie si les deux
conditions sont vraies.
La condition a < 0 ET b < 0 est vraie si la condition a < 0 est vraie
et la condition b < 0 est vraie
OU
Une condition compose de deux conditions simples spares par OU est vraie si au moins l'une
des conditions simples est vraie.
a est ngatif et b est positif
La condition a <0 OU b < 0 est vraie si ou a est positif et b est ngatif
ou a et b sont ngatifs
NON
Une condition prcde par NON est vraie si la condition simple est fausse et inversement.
La condition NON a < 0 est vraie si a >=0
L'usage des parenthses permet de rgler d'ventuels problmes de priorits des oprateurs
logiques. N'hsitez pas y recourir
Rappel sur les tables de vrit des oprateurs logiques ET et OU
ET VRAI FAUX
VRAI VRAI FAUX
FAUX FAUX FAUX
2.3. Les variables boolennes
Les variables boolennes, comme les expressions conditionnelles, sont soit vraies, soit fausses. On
peut donc affecter une expression conditionnelle un boolen et on peut aussi trouver une variable
boolenne la place dune expression conditionnelle.
Les variables boolennes et les expressions conditionnelles sont quivalentes. A chaque fois que lon
peut trouver une expression conditionnelle, on peut aussi trouver une variable boolenne.
Il est parfois plus lisible d'utiliser une variable boolenne dans une structure conditionnelle.
OU VRAI FAUX
VRAI VRAI VRAI
FAUX VRAI FAUX
DAIGL BTS Informatique de gestion 1re anne
DAIGL_IG1_C04 LES STRUCTURES CONDITIONNELLES 2/2 6
Exemple
Le programme suivant propose la saisie d'un nombre et affiche si ce nombre est compris dans les
intervalles [5, 10] ou [15, 20]
PROGRAMME intervalles
VAR
correct : boolen
nb : rel
DEBUT
AFFICHER veuillez entrer un nombre rel
SAISIR nb
correct (nb 5 ET nb 10) OU (nb 15 ET nb 20)
SI correct ALORS
Le nombre appartient aux intervalles dfinis
SINON
Le nombre nappartient pas aux intervalles dfinis
FINSI
FIN
Exercice n6
3. Exercices
1. Une entreprise de vente par catalogue fait la promotion de cinq produits diffrents dont les prix
sont : Produit 1 = 2.98 - Produit 2 = 4.40 - Produit 3 = 9.98 - Produit 4 = 4.49
- Produit 5 =6.87 . Ecrire l'algorithme qui, partir de la rfrence d'un produit saisi au clavier
(rfrences 1, 2, 3, 4 ou 5), affiche le prix de ce produit.
2. Ecrire un algorithme qui permet la saisie de la moyenne gnrale d'un lve et qui affiche la
mention correspondante
Si la note est comprise entre 0 inclus et 10 inclus mention Passable
Si la note est comprise entre 10 et 12 inclus mention Assez bien
Si la note est comprise entre 12 et 15 inclus mention Bien
Si la note est comprise entre 15 et 20 inclus mention Trs bien
Si la note est ngative ou suprieure 20, un message d'anomalie est affich
3. La papeterie Beau-Site situe Nice, accorde des taux de remise en fonction de la catgorie de
ses clients selon le tableau ci-dessous. Ecrire l'algorithme qui permet de saisir le montant de la
commande ainsi que la catgorie du client puis qui affiche le taux de remise accorde ainso que
le montant payer par le client.
Code catgorie Libell Taux remise client
AUT Autres 0,00%
CTR Client rgulier 2,00%
ECO Ecole 7,50%
ENS Enseignant 5,00%
ETU Etudiant 5,00%
LYC Lyce 8,00%
4. Ecrire un algorithme qui demande 2 nombres non nuls l'utilisateur et l'informe ensuite si leur
produit est positif ou ngatif. Vous ne devez pas calculer le produit de ces 2 nombres
DAIGL BTS Informatique de gestion 1re anne
DAIGL_IG1_C04 LES STRUCTURES CONDITIONNELLES 2/2 7
5. Ecrire un algorithme qui permet de saisir l'heure et les minutes (heure actuelle) et qui affiche
l'heure qu'il sera cinq minutes plus tard selon les exemples ci-dessous.
Donnez l'heure :
13
Donnez les minutes :
23
Dans cinq minutes, il sera 13 heure(s) et 28 minute(s)
Donnez l'heure :
23
Donnez les minutes :
57
Dans cinq minutes il sera 0 heure(s) et 2 minute(s)
6. Les habitants de Zorglub paient l'impt selon les rgles suivantes : les hommes de plus de 20
ans paient l'impt, les femmes paient l'impt si elles ont entre 18 et 35 ans, les autres ne paient
pas d'impt. Ecrire l'algorithme demandant l'ge et le sexe du Zorglubien et indiquant si
l'habitant est imposable ou non.