Está en la página 1de 9

DAIGL

BTS Informatique de gestion 1re anne

Chapitre 3 : Les structures conditionnelles 1/2

1. Introduction................................................................................................................ 2
2. La structure alternative .............................................................................................. 2
3. La structure conditionnelle au sens strict ................................................................... 3
4. Les structures alternatives imbriques ....................................................................... 4
5. Exercices..................................................................................................................... 7

DAIGL_IG1_C04 LES STRUCTURES CONDITIONNELLES 1/2

DAIGL

BTS Informatique de gestion 1re anne

1. Introduction
Nous avons vu jusqu prsent des algorithmes avec des instructions qui senchanent de faon
squentielles, c'est--dire qui vont sexcuter les unes aprs les autres.
Toutefois, cela nest pas toujours satisfaisant.
Exemple : on veut crire un algorithme permettant dafficher le montant dune commande
dimprimantes. Le prix unitaire dune imprimante est de 255 . A partir de cinq imprimantes
achetes, le prix est de 215 .
Que doit faire le traitement ?
Il doit calculer le montant payer, c'est--dire raliser lopration quantit * prix unitaire .
Or, le prix unitaire est variable et dpend de la quantit commande.
Le traitement doit donc tester la quantit.
Pour effectuer des tests, nous utilisons les structures conditionnelles.

Les structures conditionnelles permettent d'excuter des instructions


diffrentes sous certaines conditions.

2. La structure alternative
Reprenons notre exemple.
En franais, nous pouvons exprimer la problmatique de la manire suivante :
Si la quantit est infrieure strictement 5 alors le prix unitaire vaut 255 , sinon le prix unitaire
vaut 215 .
En algorithmique on utilise la structure alternative SI ... ALORS ... SINON, dont la syntaxe est :
Syntaxe

SI condition ALORS
< instruction 1>
< instruction 2>
SINON
< instruction 3>
< instruction 4>
FINSI

Instructions ralises si la condition est vraie

Instructions ralises si la condition est fausse

A noter ici, lindentation (dcalage) des lignes pour permettre une meilleure lisibilit

Rgles
- Indentation et alignement des instructions au sein des blocs ALORS et SINON
- Alignement du SI, du SINON et du FINSI avec les instructions prcdentes et suivantes

DAIGL_IG1_C04 LES STRUCTURES CONDITIONNELLES 1/2

DAIGL

BTS Informatique de gestion 1re anne

Exemple
Ainsi lalgorithme correspondant notre exemple est le suivant :
PROGRAMME Commande
VAR
quantite, montant : entier
DEBUT
AFFICHER " Donner la quantit "
SAISIR quantite

SI quantite < 5 ALORS


montant quantite * 255
SINON
montant quantite * 215
FINSI
AFFICHER " Montant command : ", montant
FIN

Le traitement teste une condition :


- si elle est vraie, il ralise une (ou plusieurs) instruction(s)
- si elle est fausse, il ralise une (ou plusieurs) autre(s) instruction(s)

A noter ici ;
Linstruction permettant laffichage du montant command se situe aprs le FINSI, donc elle
sera ralise dans tous les cas (quantit < 5 ou quantit 5)

Exercices n1 et 2
3. La structure conditionnelle au sens strict
Parfois, il faut excuter une instruction uniquement si une condition est vraie et ne rien faire de
particulier si la condition est fausse.
Reprenons notre exemple de dpart : le programme qui affiche le montant dune commande
dimprimante. Lutilisateur saisit la quantit commande. Le prix dune imprimante est 255 . A
partir de cinq imprimantes achetes, le prix est de 215 .
Supposons maintenant que lon veuille appliquer une remise de 1% si le montant dpasse 2200 .
En franais, nous pouvons exprimer la problmatique de la manire suivante :
Si le montant total est suprieur 2200 alors on applique une remise de 1%.
Syntaxe
En algorithmique on utilise la structure alternative SI ALORS , dont la syntaxe est :

SI condition ALORS
< instruction1>
< instruction2>
< ... >
FINSI

Les instructions comprises entre SI et FINSI sont ralises

uniquement si la condition est vraie

DAIGL_IG1_C04 LES STRUCTURES CONDITIONNELLES 1/2

DAIGL

BTS Informatique de gestion 1re anne

Exemple
On peut donc complter notre algorithme de la faon suivante :

PROGRAMME Commande
VAR
quantite, montant : entier
DEBUT
AFFICHER " Donner la quantit "
SAISIR quantite
SI quantite < 5 ALORS
montant quantite * 255
SINON
montant quantite * 215
FINSI

SI montant > 2200 ALORS


montant montant * 0.99
FINSI
AFFICHER " Montant command : ", montant
FIN

Exercice n3
4. Les structures alternatives imbriques
Lalternative une condition peut elle-mme conduire choisir de nouveau entre deux actions. On
utilise alors les structures alternatives imbriques.
Reprenons notre algorithme. Pour amliorer le traitement, nous voulons que le traitement vrifie au
pralable si la quantit saisie par lutilisateur est positive.
Si la quantit est ngative ou nulle, le programme affiche un message derreur.
Si la quantit est positive, le programme calcule puis affiche le montant de la commande selon la
logique dfinie prcdemment : le prix dune imprimante est 255 . A partir de cinq imprimantes
achetes, le prix est de 215 la pice.
Dans un premier temps, le systme teste la valeur saisie par lutilisateur. Si elle est ngative, un
message danomalie est affich.
Si la quantit est positive, le traitement doit alors tester la quantit pour savoir si elle est infrieure
5.

DAIGL_IG1_C04 LES STRUCTURES CONDITIONNELLES 1/2

DAIGL

BTS Informatique de gestion 1re anne

Syntaxe
En algorithmique on utilise des structures alternatives SI ALORS imbriques :

SI condition1 ALORS
< bloc dinstructions 1>
SINON
SI condition2 ALORS
< bloc dinstructions 2>
SINON
< bloc dinstructions 3 >
FINSI
FINSI

Le bloc d'instructions 1 est excut lorsque


- la condition 1 est vraie
- et la condition 2 est vraie ou fausse
Le bloc d'instructions 2 est excut lorsque
- la condition 1 est fausse
-et la condition 2 est vraie
Le bloc d'instructions 3 est excut lorsque
- la condition 1 est fausse
-et la condition 2 est fausse

Exemple
On peut donc complter notre algorithme de la faon suivante :
PROGRAMME Commande
VAR
quantite, montant : entier
DEBUT
AFFICHER " Donner la quantit nombre "
SAISIR quantite

SI quantite <= 0 ALORS

FIN

A noter ici lemplacement de linstruction permettant laffichage du montant command


Cet affichage nest pas ralis si la quantit saisie est ngative (puisque aucun montant nest
calcul dans ce cas l).
Linstruction qui affiche le montant se trouve donc dans le SINON du premier SI (c'est--dire
quand la condition quantit ngative est fausse).
Par contre, elle se trouve aprs le FINSI du second SI, puisquelle est ralise quelle que soit la
quantit (du moment quelle est positive).

DAIGL_IG1_C04 LES STRUCTURES CONDITIONNELLES 1/2

DAIGL

BTS Informatique de gestion 1re anne

Il est possible dimbriquer plusieurs niveaux : chaque SINON peut ouvrir sur un nouveau SI

SI condition1 ALORS
Bloc_instructions1
SINON
SI condition2 ALORS
Bloc_instructions2
SINON
SI condition3 ALORS
Bloc_instructions3
SINON
SI condition4 ALORS
Bloc_instructions4
SINON
Bloc_instructions5
FINSI
FINSI
FINSI
FINSI

Mais pour des raisons de comprhension et de lisibilit, il est prfrable de se limiter deux ou trois
niveaux maximum : au-del, il devient plus difficile danalyser le code.
Et surtout il faut bien indenter son code !

Exercices n 4 et 5

DAIGL_IG1_C04 LES STRUCTURES CONDITIONNELLES 1/2

DAIGL

BTS Informatique de gestion 1re anne

5. Exercices
1. Ecrire lalgorithme Calculer permettant la saisie de deux nombres ainsi que la lettre reprsentant
l'opration effectuer (s pour somme, p pour produit). Le programme calcule puis affiche
ensuite le rsultat de l'opration. On considre que l'utilisateur ne fait aucune erreur de saisie.
Exemples de ce qui sera visible l'cran (en gris ce qui est saisi par l'utilisateur)
Saisir deux nombres entiers
100
20
Saisir s pour obtenir la somme et p pour obtenir le produit
s
Le rsultat est : 120

Saisir deux nombres entiers


12
3
Saisir s pour obtenir la somme et p pour obtenir le produit
p
Le rsultat est : 36

2. Ecrire lalgorithme permettant de dterminer puis dafficher le maximum de deux nombres saisis
(on considrera que les valeurs saisies par lutilisateur sont diffrentes)
Exemple de ce qui sera visible l'cran (en gris ce qui est saisi par l'utilisateur)

Saisir deux nombres entiers diffrents


-100
20
Le plus grand des deux nombres est : 20

3. Reprendre lexercice 3 prcdent (affichage du maximum de deux nombres) en utilisant cette


fois-ci une et une seule structure conditionnelle au sens strict (SI ALORS . FINSI).

4. Faire la trace (valeurs successives des variables) du programme ci-dessous dans les cas
suivants. Vous prsenterez les rsultats dans les tableaux fournis ci-aprs.
Cas 1 : lutilisateur saisit a=3, b=2 et c=1
Cas 2 : lutilisateur saisit a=0, b=4 et c=5
Cas 3 : lutilisateur saisit a=1, b=5 et c=3
Seules les variables qui changent de valeur dune instruction lautre doivent tre mentionnes
dans le tableau.

DAIGL_IG1_C04 LES STRUCTURES CONDITIONNELLES 1/2

DAIGL

BTS Informatique de gestion 1re anne

PROGRAMME Penible
VARIABLE
a, b, c, d : entier
DEBUT
AFFICHER ("Saisir trois nombres entiers : ")
SAISIR a, b, c
.............................................................................................
d2
..................................................................................................... i2
SI a = 3 ALORS
a2
............................................................................................ i3
b (a + c) * d
................................................................................. i4
SINON
SI a = 0 ALORS
a2
.......................................................................................
cd*a
..................................................................................
SINON
c 1 + b .............................................................................. i7
d b - a .....................................................................................
FINSI
FINSI
AFFICHER ("a=", a," b=", b," c=", c) ............................................................... i9
FIN

i1

i5
i6

i8

Cas 1: lutilisateur saisit a=3, b=2 et c=1


Aprs
instruction

Valeur des variables


a

i1
i2
i3
i4
i5
i6
i7
i8
I9
Cas 2 : lutilisateur saisit a=0, b=4 et c=5
Aprs
instruction

Valeur des variables


a

i1
i2
i3
i4
i5
i6
i7
i8
I9
DAIGL_IG1_C04 LES STRUCTURES CONDITIONNELLES 1/2

DAIGL

BTS Informatique de gestion 1re anne

Cas 3 : lutilisateur saisit a=1, b=5 et c=3


Aprs
instruction

Valeur des variables


a

i1
i2
i3
i4
i5
i6
i7
i8
I9

5. Ecrire lalgorithme dun programme permettant de calculer le montant dune commande de


livres, sachant que le prix unitaire du livre est de 32 si lon commande moins de 5 livres, 30
si lon commande de 5 29 livres, 25 si lon commande de 30 49 livres, 22 si lon
commande 50 livres ou plus.
Lutilisateur fournit en entre le nombre de livres commands.

DAIGL_IG1_C04 LES STRUCTURES CONDITIONNELLES 1/2