• Aucun résultat trouvé

Cours sur les bool´ eens

N/A
N/A
Protected

Academic year: 2021

Partager "Cours sur les bool´ eens"

Copied!
2
0
0

Texte intégral

(1)

Pierre-Louis CAYREL 2008-2009

Pr´epa HEC 2 disponible surwww.cayrel.net

Lyc´ee Lavoisier

Cours sur les bool´ eens

Les bool´eens ont ´et´e invent´es par Monsieur Boole dans le but de cr´eer des fonctions de base qui, associ´ees les unes aux autres, pourraient donner d’autres fonctions beaucoup plus complexes.

Les bool´eens (boolean en anglais et en Pascal) ne peuvent prendre que deux valeurs possibles : vrai (true) ou faux (false) et sont cod´es en 0 ou 1. Ces valeurs sont analogues aux ´etats possibles d’un interrupteur : ouvert ou ferm´e, d’une lampe : allum´ee ou ´eteinte, d’un composant

´

electronique du type transistor : conducteur ou isolant.

En bref, les bool´eens ne sont utiles que pour connaˆıtre un ´etat : vrai ou faux et en g´en´eral pour caract´eriser si une condition est vraie ou fausse. Vous les utilisez d´ej`a sans toujours le savoir dans les blocs IF : si telle condition est vraie, alors...

Boole inventa une alg`ebre qui porte son nom : l’alg`ebre de Boole. C’est cette derni`ere qui nous permet de faire des op´erations sur les bool´eens grˆace `a des op´erateurs :NOT(non),OR (ou),AND (et),XOR(ou exclusif),NAND(inverse de et),NOR(inverse de ou). En Turbo Pascal 7.0 n’existent que les op´erateurs NOT,OR,ANDet XOR. Qui suffisent (en les combinant) `a retrouver les autres.

Ainsi, NAND=NOT(AND) etNOR=NOT(OR). Les tables de v´erit´e de op´erateurs logiques disponibles sur Turbo Pascal 7.0 sont en bas de page.

Comme toute variable, il faut d´eclarer une variable bool´eenne dans la partie d´eclarative en en-tˆete du programme.

Syntaxe :

Var nomdevariable : boolean ;

Pour donner une valeur `a une variable bool´eenne, on proc`ede comme pour tout autre type de variable, `a l’aide du commutateur := .

Syntaxe :

nomdevariable := true ; nomdevariable := false ;

Note : par d´efaut, une variable bool´eenne est FALSE (tout comme une variable INTEGER est

´

egale `a z´ero lors du lancement du programme).

On peut bien ´evidemment utiliser une structureIF.

Syntaxe :

If condition then nomdevariablebool´eenne := true ;

Il existe une autre fa¸con de donner la valeur true (ou false) `a une telle variable, bien plus simple qu’une structure IF.

1

(2)

Syntaxe :

nomdevariable := condition ; Exemple :

test := (x>100) and (u=’coucou’) ;

Dans une structure conditionnelle (If,Until,While), on peut avantageusement utiliser des bool´eens sans sp´ecifier sa valeur qui sera alors prise par d´efaut ´egale `a true. C’est-`a-dire que si on ne pr´ecise pas la valeur d’une variable bool´eenne dans une structure IF,par exemple, le compilateur Turbo Pascal se dira syst´ematiquement : si variable est true, alors faire . . . Il devient donc inutile de sp´ecifier la valeur de la variable dans ce cas l`a.

Syntaxes :

If nomdevariablebool´eenne then instruction ; Repeat

instructions

Until nomdevariable ;

While nomdevariable do instruction end ;

Nous avons vu plus haut que les op´erateurs sp´ecifiques aux bool´eens (NOT,OR,AND,XOR) pou- vaient se composer pour donner des expressions plus complexes. Il est bien entendu pos- sible d’introduire dans ces expressions le op´erateurs relationnels (=, <, >, <=, >=, <>) et plus g´en´eralement tous les autres op´erateurs disponibles en Turbo Pascal. Pour pouvez mˆeme utiliser directement des expressions qu’elles soient math´ematiques ou non.

Exemples :

test := (lenght(u)<= 20) or ((sin(a)*pi) < x) ;

Ici, la variable bool´eenne test devient vraie si la longueur de la chaˆıne u n’exc`ede pas 20 caract`eres ou si le sinus de l’angle a multipli´e par la valeur de pi est strictement inf´erieur `a la valeur de x.

If (a=0) or ((b=0) and (c=0)) then writeln(’La lampe est allum´ee’) ; Ici, ´ecriture `a l’´ecran d’un message si a est nul ou si b et c sont simultan´ement nuls.

Note : si vous faites afficher `a l’´ecran la valeur d’une variable bool´eenne, il s’affichera FALSE ouTRUE (selon sa valeur effective) en caract`eres majuscules.

Tables de v´erit´e des op´erateurs logiques :

X NOTX false true true false

X Y AND

false false false false true false true false false true true true

X Y OR

false false false false true true

true false true true true true

X Y XOR

false false false false true true

true false true true true false

2

Références

Documents relatifs

Quand ils sont en va-et-vient la lumi` ere s’allume quand les deux sont ferm´ es ou les deux

Il peut parfois y avoir plusieurs instructions dans une conditionnelle, et parfois la partie « sinon » n’est pas présente.. Si mon téléphone sonne en classe

L’ensemble, not´ e B, des bool´ eens a exactement deux ´ el´ ements Vrai, qu’on note V quand on est press´ e.. Faux, qu’on note F quand on est

Il est important de distinguer les variables li´ ees des variables libres mais il n’est jamais important de savoir si deux ´ enonc´ es sont ´ egaux. Ce qui peut ˆ

L’ensemble, not´ e B des bool´ eens a exactement deux ´ el´ ements Vrai, qu’on note V quand on est press´ e.. Faux, qu’on note F quand on est

mise à «True».. 9) Dans une procédure d’un événement «KeyPress», la valeur «Handled» du paramètre «e» est généralement mise à True pour indiquer que le caractère

5) La valeur de la propriété «Value» d'un contrôle «Barre de défilement» (ScrollBar) doit toujours être inférieure à sa propriété «Maximum». F peut être égale.. 6) Si