cours sur booléens

Les booléens

Les machines traitent et mémorisent l’information au moyen de circuits logiques binaires : leurs entrées et sorties se caractérisent exclusivement par deux états : l’état logique bas et l’état logique haut.

Ceci s’explique par la technologie employée : les microprocesseurs sont constitués d’une multitude de composants électroniques que l’on appelle des transistors et qui ne peuvent prendre que deux états, bloqué ou saturé, et se comportent comme des interrupteurs. Ce sont des circuits logiques, le plus souvent à base de transistors, qui réalisent toutes les opérations dans les processeurs des machines

Source : https://fr.wikibooks.org/wiki/Fonctionnement_d%27un_ordinateur/Les_transistors_et_portes_logiques

 


Informations binaires et Variables booléennes

Une variable booléenne ne peut prendre que deux valeurs, notées 0 et 1.

Ces variables peuvent servir à constituer une information binaire (oui/non, vrai/faux, égal/différent, marche/arrêt, allumé/éteint , …) ou à décrire l’état physique d’un composant d’un système (alimentation d’un composant, action sur un bouton, …)

  • La valeur 0 représente l’état physique d’un composant non alimenté, ou ne recevant pas d’action physique.
  • La valeur 1 représente l’état physique d’un composant alimenté.

exemples : une lampe, résistance, un relais, un contacteur, sont à l’état 0 lorsqu’ils ne sont pas alimentés. Le circuit est alors ouvert.

Formes de l’information binaire

La valeur booléenne est donnée par l’état logique (haut ou bas) de la grandeur physique qui la porte : de l’électricité.

Exemple : dans le cas de l’utilisation de circuits intégrés en logique T.T.L. (Transistor-Transistor Logic), l’état logique HAUT correspond à une tension « proche » de 5V et l’état logique BAS à une tension « proche » de 0V.

Tension État logique Valeur
booléenne
5V HAUT 1
  indéterminé  
0V BAS 0

Il ne faut pas confondre :

  • la valeur de tension, en Volt, aux bornes des composants d’un circuit logique,
  • l’état logique HAUT ou BAS aux bornes des composants d’un circuit logique (qui dépend de la tension),
  • la valeur booléenne, exprimée à l’aide des deux bits 0 et 1 qui représentent les deux états logiques bas et haut.

Le bit est l’unité des informations logiques (bit est l’abréviation de binary digit).

 

Les transistors ne peuvent prendre que deux états : bloqué ou saturé et se comportent comme des interrupteurs que l’on appellera contacts. On distingue deux types de contacts :

  au repos
(état BAS)
actionné
(état HAUT)

Contact à fermeture

Contact qui est ouvert au repos (ou normalement ouvert) et qui se ferme lorsqu’il est actionné.

Contact à ouverture

Contact qui est fermé au repos et qui s’ouvre lorsqu’il est actionné.

Un contact est à l’état 0 en l’absence d’action physique sur celui-ci, et à l’état 1 s’il est actionné.

 


Algèbre binaire (ou algèbre de Boole)

Source : https://fr.wikipedia.org/wiki/Algèbre_de_Boole_(logique)

Opérateurs

Les calculs sur les variables booléennes sont réalisés grâce à l’algèbre de Boole qui comporte 3 opérateurs élémentaires :

Essayons de compléter les tables de vérités ci-dessous

Opérateur Équation logique Symbole logique Table de vérité
NON
(NOT)
NOTa=a¯=¬a=!a
a NOTa
0 1
1 0
ET
(AND)
aANDb=ab=ab=a&b
a b aANDb
0 0
0 1
1 0
1 1
OU
(OR)
aORb=a+b=ab=ab
a b aORb
0 0
0 1
1 0
1 1

 


Après avoir corrigé la partie ci dessus

A partir de ces trois opérateurs élémentaires, on peut également définir les opérateurs suivants :

Essayer de compléter les tables de vérités suivantes:

Opérateur Équation logique Symbole logique Table de vérité
NON-ET
(NAND)
aNANDb=ab¯¯¯¯¯¯¯¯=¬(ab)=!(a&b)
a b aNANDb
0 0
0 1
1 0
1 1
NON-OU
(NOR)
aNORb=a+b¯¯¯¯¯¯¯¯¯¯¯=¬(ab)=!(ab)
a b aNORb
0 0
0 1
1 0
1 1
OU exclusif
(XOR)
aXORb=ab=ab
a b aXORb
0 0
0 1
1 0
1 1
  • les opérateurs NON-ET et NON-OU sont qualifiés d’opérateurs complets car ils permettent la réalisation des trois opérateurs élémentaires NON, ET et OU.
  • NAND est l’opérateur de base des circuits intégrés en logique T.T.L. (Transistor-Transistor Logic)

 

 

Théorèmes de DE MORGAN

  • Premier théorème : a+b¯¯¯¯¯¯¯¯¯¯¯=a¯b¯
  • Deuxième théorème : ab¯¯¯¯¯¯¯¯=a¯+b¯

 


Table de vérité

Une expression logique contenant un nombre fini de variables booléennes ( a1,,an ), et chaque variable ne pouvant prendre qu’un nombre fini de valeurs (0 ou 1), il existe un nombre fini de combinaisons de ces variables, et par conséquent un nombre fini de valeurs pour l’expression. On peut représenter l’ensemble des combinaisons et des valeurs dans un tableau appelé table de vérité :

i[1,n],A=f(a1,,an)
a1 a2 an A
0 0 0  
0 0 1  
 
1 1 1  

On peut utiliser une table de vérité pour décomposer les calculs algébriques, en procédant par étapes :

Exemples :

  • A=a+/b¯
    a b /b¯ A=a+/b¯
    0 0 1 1
    0 1 0 0
    1 0 1 1
    1 1 0 1

compléter la table de vérité ci-dessous:

  • B=a+b¯¯¯¯¯¯¯¯¯¯¯c
    a b c a+b a+b¯¯¯¯¯¯¯¯¯¯¯ B=a+b¯¯¯¯¯¯¯¯¯¯¯c
    0 0 0
    0 0 1
    0 1 0
    0 1 1
    1 0 0
    1 0 1
    1 1 0
    1 1 1

 

  • Utiliser une table de vérité pour évaluer l’ensemble des valeurs possibles des expressions suivantes :
    • X=(ab)¯¯¯¯¯¯¯¯¯¯¯¯+c¯
    • Y=(a+c¯)¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯+(bc)¯¯¯¯¯¯¯¯¯¯¯¯

 

On peut aussi utiliser une table de vérité pour vérifier si deux expressions logiques sont équivalentes :

  • Montrer que
  • a xor (a.b)=a+b

  • Règles et syntaxe dans les langages informatiques

      Python C/C++
    Valeurs
    booléennes
    True
    False
    true
    false
    Opérateurs booléens
    NON not a !a
    ET a and b a&&b
    OU a or b a||b
    XOR a^b a!=b
    Comparaison
    Tous les types peuvent être comparés, une comparaison renvoie toujours un booléen.
    égalité ==  
    différence !=  
    inférieur ou égal <=  
    strictement inférieur <  
    supérieur ou égal >=  
    strictement supérieur >