Infoforall

LES TESTS LOGIQUES : bilan

Il s'agit du résumé de la fiche qui se trouve ici :

Cette fiche n'est destiné qu'à être une sorte de résumé global sur les tests sur des booléens. Il ne comporte aucune indication concrète sur un langage de programmation en particulier. La fiche-description donnée ci-dessous comporte elle quelques bouts de code en Python si vous avez des difficultés pour transposer ces connaissances en programmation concrète.

Les tests communs à tous les langages sont :

Opérateur Synthaxe Python Synthaxe Javascript Synthaxe C++ Synthaxe Java
a ET b a and b a && b a && b 2 versions différentes : a & b mais également a && b
a OU b a or b a || b a || b 2 versions différentes : a | b mais également a || b
NON a not a !a !a !a
a b s a s ET & OU ≥1 & ≥1 =1 1

1 - Tableau global des fonctions

Noms et équation Symbole Table de vérité

OUI - YES

a

a s = a
VRAI VRAI
FAUX FAUX

NON - NOT

a

Porte NON Ansi
a s = a
VRAI FAUX
FAUX VRAI

ET - AND

a . b

Porte ET Ansi
a b s = a . b
VRAI VRAI VRAI
FAUX VRAI FAUX
VRAI FAUX FAUX
FAUX FAUX FAUX

NON-ET ou NAND

a . b

En utilisant la loi de De Morgann :

a + b

Porte ET Ansi
a b s = a . b
VRAI VRAI FAUX
FAUX VRAI VRAI
VRAI FAUX VRAI
FAUX FAUX VRAI

OU - OR

a + b

Porte ET Ansi
a b s = a + b
VRAI VRAI VRAI
FAUX VRAI VRAI
VRAI FAUX VRAI
FAUX FAUX FAUX

NON-OU - NOR

a + b

En utilisant la loi de De Morgann :

a . b

Porte ET Ansi
a b s = a + b
VRAI VRAI FAUX
FAUX VRAI FAUX
VRAI FAUX FAUX
FAUX FAUX VRAI

OU exclusif - XOR

a ⊕ b

Autre formulation :

( a + b ) . ( a . b )

Porte ET Ansi
a b s = a ⊕ b
VRAI VRAI FAUX
FAUX VRAI VRAI
VRAI FAUX VRAI
FAUX FAUX FAUX

2 - Quelques précisions

Associativité

a . b . c   =   ( a . b ) . c   =   a . ( b . c )

a + b + c   =   ( a + b ) + c   =   a + ( b + c )

Commutativité

a . b   =   b . a

a + b   =   b + a

Lois de De Morgann

a . b   =   a + b

a + b   =   a . b

Priorité : on garde la même priorité qu'en mathématiques :

Complémentarité

a = a

a . a = 0

a + a = 1

Element neutre et de l'absorption

Influence du VRAI (1)

a . 1   =   a       : 1 est neutre dans un ET car c'est a qui impose le résultat.

a + 1   =   1       : 1 absorbe le résultat d'un OU en imposant une valeur VRAI (1) en sortie.

Influence du FAUX (0)

a . 0   =   0       : 0 absorbe le résultat d'un ET en imposant une valeur FAUX (0) en sortie.

a + 0   =   a       : 0 est neutre dans un OU car c'est a qui impose le résultat.

Idempotence du ET et du OU

a . a . a . a ...   =   a

a + a + a + a ...   =   a

Règles de simplification

a + a . b    =    a + b

a . a + b    =    a . b

a . b + a . c + b . c   =   a . b + a . c