Previous Page Next Page

9.8 Le concept de condition

Une condition est une expression booléenne. La valeur d'une condition est du type booléen dont les seules valeurs sont les valeurs de vérité True et False.

Une valeur booléenne est obtenue en appliquant les opérateurs booléens AND, OR et NOT ainsi que les opérateurs relationnels =, <>, <, <=, >, >= à des opérandes booléennes.

On envisage les conditions de relation simple [angl. simple condition] et les conditions de relation composée [angl. compound condition].

Dans une condition de relation simple deux expressions arithmétiques sont comparées au moyen des opérateurs relationnels. En Turbo-Pascal, la syntaxe d'une condition de relation simple s'écrit comme suit:

Undisplayed Graphic

Figure 9.11 Condition de relation simple

Une condition de relation composée se construit au moyen de conditions de relation simple reliées les unes aux autres par les opérateurs booléens. La forme syntaxique d'une condition de relation composée s'écrit:

Undisplayed Graphic

Figure 9.12 Condition de relation composée

Voici quelques exemples de conditions de relation composée:

NOT( A<=B )
( A>3 ) OR ( B<5 )
( X>3 MOD 4 ) AND ( Sqr( B )<=6 )

L'opérateur AND permet de simplifier l'écriture d'une série d'instructions IF imbriquées de la forme suivante:

IF < expression 1 > THEN BEGIN
IF < expression 2 > THEN BEGIN
< statement 1 >;
END ELSE BEGIN
< statement 2 >;
END;
END ELSE BEGIN
< statement 2 >;
END;

sous la forme:

IF < expression 1 > AND < expression 2 > THEN BEGIN
< statement 1 >;
END ELSE BEGIN
< statement 2 >;
END;

L'opérateur AND peut aussi être introduit dans la condition d'une instruction répétitive (voir chapitre 10):

WHILE < expression 1 > AND < expression 2 > DO BEGIN
< statement 1 >;
END; {-- WHILE, NOT( < expression 1 > ) OR NOT( < expression 2 > ) }
< statement 2 >;

L'opérateur OR permet de simplifier l'écriture d'une série d'instructions IF imbriquées de la forme suivante:

IF < expression 1 > THEN BEGIN
<statement 1 >;
END ELSE BEGIN
IF < expression 2 > THEN BEGIN
< statement 1 >;
END ELSE BEGIN
< statement 2 >;
END;
END;

sous la forme:

IF < expression 1 > OR < expression 2 > THEN BEGIN
< statement 1 >;
END ELSE BEGIN
< statement 2 >;
END;

L'opérateur OR peut aussi être introduit dans la condition d'une instruction répétitive (voir chapitre 10):

WHILE < expression 1 > OR < expression 2 > DO BEGIN
< statement 1 >;
END; {-- WHILE, NOT( < expression 1 > ) AND NOT( < expression 2 > ) }
< statement 2 >;

Réciproquement, toute condition de relation composée peut s'écrire sous forme d'une suite de conditions de relation simple. Ainsi par exemple, l'arbre

Undisplayed Graphic

est équivalent à l'arbre suivant:

Undisplayed Graphic

De même, l'arbre programmatique

Undisplayed Graphic

est équivalent à

Undisplayed Graphic

La formulation des conditions obéit à des règles analogues à celles de la formulation d'expressions arithmétiques. En Turbo-Pascal, l'ordre de priorité des opérateurs arithmétiques, relationnels et booléens est représenté dans le tableau ci-dessous.

Exercice: Emploi du temps d'un salarié

Analyser et structurer l'emploi du temps d'un salarié qui ne se laisse pas aller:

- le samedi matin, il fait ses courses,
- le samedi après-midi:
- il fait du sport si le temps le permet,
- il se repose dans le cas contraire,
- le dimanche matin, il fait du sport quelque soit le temps,
- le dimanche après-midi, il se repose dans tous les cas,
- les autres jours de la semaine, il travaille.

Type des opérateurs

Opérateurs

Priorités

Parenthèses

( ... )

1

Fonctions

appel de fonctions

2

Opérateurs arithmétiques

*, /, DIV, MOD
+, -

3
4

Opérateurs relationnels

=, <>, <, <=, >, >=

5

Opérateurs booléens

NOT
AND
OR

6
7
8

Figure 9.13 Table des priorités en Turbo-Pascal

TERMES TECHNIQUES

condition

condition de relation composée

condition de relation simple

Previous Page Next Page


© Aflo Informatique , 2003-2004