Basic Pascal Tutorial/Chapter 3/Boolean Expressions/fr
English · Français · Български · 中文(中国) · 日本語
Tutoriel de Pascal Objet : Structures de contrôle / Expressions booléennes
Les expressions booléennes sont utilisées pour comparer deux valeurs et retournent true ou false :
valeur1 opérateur_relationnel valeur2Les opérateurs relationnels suivants sont utilisés :
< inférieur à
> supérieur à
= égal à
<= inférieur ou égal à
>= supérieur ou égal à
<> différent deLes expressions booléennes sont affectables à des variables booléennes. Ici, nous affectons une expression valant true à some_bool :
some_bool := 3 < 5;Des expressions booléennes plus complexes sont formées avec les opérateurs booléens :
not négation (~)
and conjonction (^)
or disjonction (v)
xor ou exclusif ((+))NOT est un opérateur unaire ; il est appliqué à une seule valeur et inverse sa valeur :
not true = falsenot false = true
AND retourne TRUE uniquement si les deux valeurs sont TRUE simultanément :
TRUE and FALSE = FALSETRUE and TRUE = TRUE
OR retourne TRUE si au moins l'une des valeurs est TRUE :
TRUE or TRUE = TRUETRUE or FALSE = TRUEFALSE or TRUE = TRUEFALSE or FALSE = FALSE
XOR retourne TRUE si les deux valeurs sont différentes. Ainsi :
TRUE xor TRUE = FALSETRUE xor FALSE = TRUEFALSE xor TRUE = TRUEFALSE xor FALSE = FALSE
C'est l'inverse de l'opérateur d'égalité = ; on peut donc le remplacer par l'opérateur <> appliqué aux valeurs booléennes.
En combinant deux expressions booléennes en utilisant les opérateurs relationnels et booléens, l'emploi de parenthèses est nécessaires :
(3 > 5) or (650 < 1)car les opérateurs booléens ont une priorité d'évaluation plus élevée que les opérateurs relationnels :
not* / div mod and+ - or< > <= >= = <>
Ainsi, 3 > 5 or 650 < 1 est évalué en 3 > (5 or 650) < 1, ce qui n'a pas de sens en tant qu'expression booléenne (OR est un opérateur agissant aussi sur les entiers mais avec un autre sens).
Les opérateurs booléens (AND, OR, NOT, XOR) peuvent être employés aussi bien sur des expressions booléennes que sur des valeurs booléennes.
Quelques remarques :
- Bien que ces opérateurs soient commutatifs (on peut changer la place les opérandes des opérateurs), une optimisation fréquente des compilateurs, dite évaluation paresseuse, consiste à n'évaluer que le premier opérande et le second au besoin du fait des propriétés des opérateurs booléens. Cela n'a habituellement aucune conséquence sauf pour des constructions particulières, prudence donc…
- Autant que possible, ne jamais comparer directement deux valeurs réelles, de légères différences d'arrondi peuvent fausser le résultat de l'expression. En fait, il vaut mieux comparer la différence à une valeur suffisamment petite.
- Dans la mesure du possible, éviter des expressions du genre :
if some_bool = True thenalors que :
if some_bool thensuffit largement et allège la lecture.
From the Free Pascal wiki, page "Basic Pascal Tutorial/Chapter 3/Boolean Expressions/fr", as it stood on 2022-08-20 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
