P. 1
Didier Mailliet Cours Delphi

Didier Mailliet Cours Delphi

|Views: 367|Likes:
Published by agaius

More info:

Published by: agaius on Nov 16, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

11/06/2011

pdf

text

original

Type

Étendue

Format

Boolean

True et False

1 octet (8 bits)

ByteBool

True et False

1 octet

WordBool

True et False

2 octets

LongBool

True et False

4 octets

Quelques différences :
Boolean

ByteBool, WordBool, LongBool

False < True

False <> True

Ord(False) = 0

Ord(False) = 0

Ord(True) = 1

Ord(True) <> 0

Succ(False) = True

Succ(False) = True

Pred(True) = False

Pred(False) = True

b)

Opérateurs

Opérateur

Opération

Types d'opérande

Types du résultat Exemple

not

négation

booléen

Boolean

not (C in MySet)

and

conjonction

booléen

Boolean

Done and (Total > 0)

or

disjonction

booléen

Boolean

A or B

xor

disjonction exclusive booléen

Boolean

A xor B

Table de vérité :

A

B

not A

A or B

A and B

A xor B

False False

True

False

False

False

MIAGE 2ème

année

Delphi et Kilix

D. Mailliet

19

False True

True

True

False

True

True

False

False

True

False

True

True

True

False

True

True

False

Retour sur la directive de compilation $B+ :

True or X donne True quelque soit la valeur de X, de même False and X donne False quelque soit la valeur de X
Dans une expression booléenne faisant intervenir un or, lorsque le premier opérande vaut True, il est inutile de calculer la
valeur du second. Ceci pose un problème lorsque celui-ci est un prédicat (fonction à résultat booléen) et que cette fonction
produit un effet de bord ( Modification de l’environnement global) La seconde évaluation n’étant pas faite, l’effet de bord
n’a pas lieu. Il en va de même lorsque le premier opérande d’un and vaut faux

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->