Structure de programmation effectuant un
test et permettant un choix entre diverses parties du
programme
Forme d’un test
Si
condition1 Alors
Instructions
Finsi
Si condition2
Alors
Instructions 1
Sinon
Instructions 2
Finsi
Qu’est ce qu’une condition ?
Une condition est une comparaison
Une
expression définit à partir d’un opérateur de comparaison
égal
à…
différent
de…
strictement
plus petit que…
strictement
plus grand que…
plus
petit ou égal à…
plus
grand ou égal à…
L’évaluation d’une condition est un
booléen
Boolean ?
Un booléen est une expression dont la
valeur est VRAI ou FAUX.
Exemple:
10<20 VRAI
EXERCICE 1
Variables A, B, C, D, E en Booléen
Variable X en Entier
Début
Lire X
A ← X > 12
B ← X > 2
C ← X < 6
D ← (A ET B) OU C
E ← A ET (B OU C)
Ecrire D, E
Fin
Variable X en Entier
Début
Lire X
A ← X > 12
B ← X > 2
C ← X < 6
D ← (A ET B) OU C
E ← A ET (B OU C)
Ecrire D, E
Fin
Que vaut D et E?
EXERCICE 2
Ecrire un algorithme qui demande un
nombre à l’utilisateur, et l’informe ensuite si ce nombre est positif ou
négatif (on laisse de côté le cas où le nombre vaut zéro).
SOLUTION
Variable n :
Entier
Début
Ecrire "Entrez un nombre : "
Lire n
Si n > 0 Alors
Ecrire "Ce nombre est positif”
Sinon
Ecrire "Ce nombre est négatif"
Finsi
Fin
Début
Ecrire "Entrez un nombre : "
Lire n
Si n > 0 Alors
Ecrire "Ce nombre est positif”
Sinon
Ecrire "Ce nombre est négatif"
Finsi
Fin
Conditions
composées
Certains problèmes exigent parfois de
formuler des conditions qui ne peuvent pas être
exprimées sous la forme simple
Opérateurs de compositions:
connecteur logique: ET, OU, NON…
Exercice 3
Ecrire un algorithme qui demande deux
nombres à l’utilisateur et l’informe ensuite si leur produit est négatif ou
positif (on laisse de côté le cas où le produit est nul). Attention toutefois :
on ne doit pas
calculer le produit des deux nombres.
Solution
Variables m, n en
Entier
Début
Ecrire "Entrez deux nombres : "
Lire m, n
Si (m > 0 ET n > 0) OU (m < 0 ET n < 0) Alors
Ecrire "Leur produit est positif"
Sinon
Ecrire "Leur produit est négatif"
Finsi
Ecrire "Entrez deux nombres : "
Lire m, n
Si (m > 0 ET n > 0) OU (m < 0 ET n < 0) Alors
Ecrire "Leur produit est positif"
Sinon
Ecrire "Leur produit est négatif"
Finsi
Fin
EXERCICE 4
Ecrire un algorithme qui demande un
nombre à l’utilisateur, et l’informe ensuite si ce nombre
est positif ou
négatif (on inclut cette fois le traitement du cas où le nombre vaut zéro).
EXERCICE 5
Ecrire un algorithme qui demande deux
nombres à l’utilisateur et l’informe ensuite si le produit
est négatif ou
positif (on inclut cette fois le traitement du cas où le produit peut être
nul).
Attention toutefois, on ne doit pas calculer le produit !
EXERCICE 6
Un magasin de Photocopier facture 0,50 DH
les dix premières photocopies, 0,30 DH les vingt
suivantes et 0,20 DH au-delà.
Ecrivez un algorithme qui demande à l’utilisateur le nombre de
photocopies
effectuées et qui affiche la facture correspondante.
Solution
Variables n, p en Numérique
Début
Ecrire "Nombre de photocopies : "
Lire n
Si n <= 10 Alors
p ← n * 0,5
SinonSi n <= 30 Alors
p ← 10 * 0,5 + (n – 10) * 0,30
Sinon
p ← 10 * 0,5 + 20 * 0,3 + (n – 30) * 0,2
FinSi
Ecrire "Le prix total est: ", p
Début
Ecrire "Nombre de photocopies : "
Lire n
Si n <= 10 Alors
p ← n * 0,5
SinonSi n <= 30 Alors
p ← 10 * 0,5 + (n – 10) * 0,30
Sinon
p ← 10 * 0,5 + 20 * 0,3 + (n – 30) * 0,2
FinSi
Ecrire "Le prix total est: ", p
Fin