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
  • 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.

Le calcul booléen et ses règles de simplification permettent d'optimiser la construction de circuits électroniques, ainsi que simplifier l'écriture des conditions dans les programmes informatiques.

Variables booléennes

Une variable booléenne ne peut prendre que deux valeurs, notées 0 et 1 pouvant modéliser des informations binaires du type : oui/non, vrai/faux, marche/arrêt, allumé/éteint, …
Au sein d'une machine, la valeur booléenne est donnée par l'état d'une grandeur électrique. Plusieurs technologies existent pour représenter ces deux états : l'intensité du courant (4/20mA), la différence de potentiel (ou tension) TTL : 0/5V.
État LogiqueValeur BooléenneTension TTLIntensité
VRAI15 V20 mA
FAUX00 V4 mA
Chapitre 2 : Algèbre de Boole / 1 - Général Mémorisation 0x Réussite 0/0
Quelles situations peuvent être modélisées par un booléen ?
Cocher la ou toutes les bonnes réponses.

Opérateurs booléens

Les calculs sur les variables booléennes sont réalisés grâce à l'algèbre de Boole qui comporte deux opérateurs élémentaires : NON et ET.

Opérateur NON (négation)

L'opérateur NON s'applique sur un seul et se note avec une barre au-dessus de l'opérande (comme ceci).

Sa table de vérité est :

𝑎𝑎
01
10
Chapitre 2 : Algèbre de Boole / 2 - Opérateurs Mémorisation 0x Réussite 0/0/2
Déterminer 0
Cocher la bonne réponse.

Opérateur ET (conjonction)

L'opérateur ET s'applique sur deux et se note avec un point. Il renvoie VRAI seulement quand les deux opérandes sont vrais.

Sa table de vérité est :

𝑎 𝑏 𝑎 · 𝑏
0 0 0
0 1 0
1 0 0
1 1 1
Chapitre 2 : Algèbre de Boole / 2 - Opérateurs Mémorisation 0x Réussite 0/0/4
Déterminer 0 · 0
Cocher la bonne réponse.

Opérateur OU (disjonction)

L'opérateur OU s'applique sur deux et se note avec un plus.
Il renvoie VRAI quand l'un ou l'autre ou les deux des opérandes sont vrais.

Sa table de vérité est :

𝑎𝑏𝑎 + 𝑏
000
011
101
111
Chapitre 2 : Algèbre de Boole / 2 - Opérateurs Mémorisation 0x Réussite 0/0/4
Déterminer 0 + 0
Cocher la bonne réponse.
Propriété : OU n'est pas un opérateur élémentaire puisqu'il est possible de le créer à partir des opérateurs NON et ET.
En particulier :
𝑎+𝑏= 𝑎 · 𝑏      
On dresse la table de vérité des expressions 𝑎+𝑏 et 𝑎 · 𝑏 et on vérifie que leurs valeurs coïncident sur chaque ligne de la table.
Ne pas hésiter à ajouter des colonnes dans la table pour faire tous les calculs intermédiaires :
𝑎
𝑏𝑎+𝑏𝑎𝑏𝑎 · 𝑏𝑎 · 𝑏
00
01
10
11
𝑎
𝑏𝑎+𝑏𝑎𝑏𝑎 · 𝑏𝑎 · 𝑏
0001110
0111001
1010101
1110001

Opérateurs composés

Il est possible de créer d'autres opérateurs en combinant ces trois opérateurs :

  • La combinaison de NON avec ET forme l'opérateur NON-ET ou NAND.
    𝑎𝑏𝑎 · 𝑏
    001
    011
    101
    110
  • La combinaison de NON avec OU forme l'opérateur NON-OU ou NOR.
    𝑎
    𝑏𝑎 + 𝑏
    001
    010
    100
    110
  • L'opérateur OU-Exclusif ou XOR exclut la solution où les deux propositions sont VRAIES. Il se note ⊕.
    𝑎
    𝑏𝑎 ⊕ 𝑏
    000
    011
    101
    110
  • L'opérateur Identité (coïncidence) renvoie VRAI lorsque les deux sont égaux. Il se note ⊙.
    𝑎
    𝑏𝑎 ⊙ 𝑏
    001
    010
    100
    111
Règles de priorité : Comme les opérateurs arithmétiques, les opérateurs booléens peuvent s'enchaîner et il y a un ordre de priorité :
  • les expressions entre parenthèses sont à traiter en premier ;
  • s'il n'y a pas de parenthèses, les opérations s'effectuent, du plus prioritaire au moins : NON > ET > OU.
Chapitre 2 : Algèbre de Boole / 2 - Opérateurs Mémorisation 0x Réussite 0/0
Compléter la table de l'opérateur non-et :
𝑎 𝑏 𝑎 · 𝑏
0 0 {rep}
0 1 {rep2}
1 0 {rep3}
1 1 {rep4}
Doit être 0 ou 1.
Doit être 0 ou 1.
Doit être 0 ou 1.
Doit être 0 ou 1.
  1. Vérifier l'égalité logique 𝑎 ⊕ 𝑏 = 𝑎 · 𝑏 + 𝑎 · 𝑏 qui montre que l'opérateur OU-Exclusif est bien composé à partir des opérateurs élémentaires.
    𝑎
    𝑏𝑎 ⊕ 𝑏𝑎 · 𝑏𝑎 · 𝑏𝑎 · 𝑏 + 𝑎 · 𝑏
    00
    01
    10
    11
    𝑎
    𝑏𝑎 ⊕ 𝑏𝑎 · 𝑏𝑎 · 𝑏𝑎 · 𝑏 + 𝑎 · 𝑏
    000000
    011011
    101101
    110000
  2. Vérifier l'égalité logique 𝑎 ⊙ 𝑏 = 𝑎 ⊕ 𝑏 qui montre que l'opérateur Identité est bien composé à partir des opérateurs élémentaires.
    𝑎
    𝑏𝑎 ⊙ 𝑏𝑎 ⊕ 𝑏 𝑎 ⊕ 𝑏
    00
    01
    10
    11
    𝑎
    𝑏𝑎 ⊙ 𝑏𝑎 ⊕ 𝑏 𝑎 ⊕ 𝑏
    00101
    01010
    10010
    11101

Portes logiques

Les opérateurs élémentaires existent sous la forme hardware (composant électronique) et leur combinaison permet de construire tous les autres opérateurs composés. On parle de portes logiques qui sont intégrées dans un circuit électronique.

Propriétés des opérateurs

Élément neutre : Opérande qui ne modifie pas l'autre opérande.

  • FAUX est l'élément neutre de l'opérateur OU : 𝑎 + 0 = 𝑎
  • VRAI est l'élément neutre de l'opérateur ET : 𝑎 · 1 = 𝑎

Élément absorbant : Opérande qui renvoie sa valeur quelque soit celle de l'autre opérande.

  • VRAI est l'élément absorbant de l'opérateur OU : 𝑎 + 1 = 1
  • FAUX est l'élément absorbant de l'opérateur ET : 𝑎 · 0 = 0
Élément complémentaire, incompatibilité :
NON(𝑎) aussi noté 𝑎, est :
  • l'élément complémentaire de 𝑎, car on a toujours :      𝑎 + 𝑎 = 1
  • un élément incompatible avec 𝑎, car on a toujours:      𝑎 · 𝑎 = 0
Distributivité :
  • 𝑎·(𝑏 + 𝑐) = 𝑎 · 𝑏 + 𝑎 · 𝑐
    Deux : les lois de De Morgan :
    • 𝑎 · 𝑏 = 𝑎 + 𝑏
      𝑎
      𝑏 𝑎 · 𝑏 𝑎𝑏 𝑎 + 𝑏
      001111
      011101
      101011
      110000
    • 𝑎 + 𝑏 = 𝑎 · 𝑏
      𝑎
      𝑏 𝑎 + 𝑏 𝑎𝑏 𝑎 · 𝑏
      001111
      010100
      100010
      110000
      Chapitre 2 : Algèbre de Boole / 2 - Opérateurs Mémorisation 0x Réussite 0/0/4
      Simplifier l'expression booléenne : 𝑎 + 1
      Cocher la bonne réponse.

      L'algèbre de Boole dans les langages de programmation

      Les opérateurs booléens (ou logiques)

      Opération
      LogiquePythonC / C++ / Javascript / PHP
      FAUX0Falsefalse
      VRAI1Truetrue
      NON𝑎not a!a
      ET𝑎 · 𝑏 a and a && b
      OU𝑎 + 𝑏 a or ba || b

      En python les expressions booléennes sont évaluées de manière séquentielle, c'est-à-dire opérande après opérande. Si dans certains cas, l'étude du premier opérande suffit, le deuxième n'est pas appelé.

      Exemples : Dans l'expression a or b si a est VRAI, il est inutile de connaître b, le résultat de l'opération sera obligatoirement VRAI. La variable b peut ne pas être définie, il n'y aura pas d'erreur.
      De même dans l'expression a and b si a est FAUX, il est inutile de connaître b, le résultat de l'opération sera obligatoirement FAUX. La variable b peut ne pas être définie, il n'y aura pas d'erreur.

      Chapitre 2 : Algèbre de Boole / 3 - Avec python Mémorisation 0x Réussite 0/0/2
      Comment s'écrit la valeur VRAI en python ?

      Les opérateurs booléens binaires (ou logiques binaires)

      Il existe également des opérateurs booléens binaires qui permettent de réaliser les opérations booléennes bit à bit.
      Opération
      Logique Python / C / C++ / Javascript / PHP
      ET bit à bit 𝑎 · 𝑏 a & b
      OU bit à bit 𝑎 + 𝑏 a | b
      OU exclusif bit à bit𝑎 ⊕ 𝑏 a ^ b
      NON bit à bit𝑎~ a
      Chapitre 2 : Algèbre de Boole / 3 - Avec python Mémorisation 0x Réussite 0/0
      Associer chaque symbole à l'opérateur logique binaire bit à bit en python :
      ET
      OU
      NON
      OU exclusif
      Former les bons couples par glisser-déposer ou clics successifs.

      Applications

      1. Établir la table de vérité de déverouillage de l'entrée d'un laboratoire 𝐿 en fonction des quatres variables suivantes : présence de l'employé n°1 𝐸1, de l'employé n°2 𝐸2, de l'employé n°3 𝐸3 ou du directeur 𝐷 d'après les règles d'accès suivantes :
        • Le directeur de l'établissement est habilité à rentrer seul.
        • Les employés n'ont le droit de rentrer que s'ils se présentent au moins à deux.
        Le symbole ∀ signifie « quel que soit ». En effet, pour la première ligne du tableau, quelles que soient les valeurs de 1, 𝐸2 et 𝐸3, si le directeur est là, la porte s'ouvre.
        𝐸1
        𝐸2𝐸3𝐷𝐿
        00000
        11
        00100
        01000
        01101
        10000
        10101
        11001
        11101
      2. En déduire l'équation logique 𝐿 = 𝑓(𝐸1, 𝐸2, 𝐸3, 𝐷) à partir de la table de vérité. 𝐿 = 𝐷 + 𝐸1·𝐸2 + 𝐸2·𝐸3 + 𝐸1·𝐸3
      Chapitre 2 : Algèbre de Boole / 2 - Opérateurs Mémorisation 0x Réussite 0/0
      On cherche à modéliser l'allumage des différents feux d'une voiture en fonction des interrupteurs de commande.
      Associer à chaque variable booléenne 𝑋 d'action son expression en fonction des variables booléennes de commande 𝑐𝑋 en respectant le cahier des charges suivant :
      Variables booléennes :
      commandeaction
      veilleuses 𝑐𝑉𝑉
      feux de croissement 𝑐𝐶𝐶
      feux de route 𝑐𝑅𝑅
      anti-brouillards 𝑐𝐴𝐴
      Cahier des charges :
      • Les commandes des veilleuses 𝑐𝑉, des feux de croissement 𝑐𝐶 et de route 𝑐𝑅 ne peuvent être activées simultanément.
      • Seules les veilleuses peuvent être allumées seules.
      • L'allumage des feux de croisement, des feux de route ou des anti-brouillards entraîne obligatoirement l'allumage des veilleuses.
      • Les feux de route et les antibrouillards ne peuvent pas être allumés en même temps (la priorité sera toujours donnée aux feux de route).
      • Les antibrouillards ne peuvent être allumés sans les feux de croisement.
      veilleuses 𝑉
      feux de route 𝑅
      feux de croissement 𝐶
      anti-brouillards 𝐴
      Former les bons couples par glisser-déposer ou clics successifs.

      Circuits logiques

      Les portes logiques

      Dans cette partie, nous allons utiliser le simulateur de CircuitVerse.org.
      1. Donner l'expression logique que réalise le circuit logique ci-dessus ? A + A·B
      2. Ce circuit logique peut-il être simplifié ? La sortie est la même qu'une des entrées. L'autre entrée est inutile.
        On peut simplifier l'expression équivalente : A + A·B = A·(1 + B) = A·1 = A

      Implémentation électronique de l'addition

      Ci-dessous, trois circuits logiques sont représentés :
      • Additionneur : Permet de réaliser l'addition de 2 bits.
      • Additionneur avec retenue : Permet de réaliser l'addition de 2 bits avec une retenue précédente. Ce circuit est composé de deux circuits logiques "Additionneur".
      • Additionneur 4 bits : Permet de réaliser l'addition de 2 × 4 bits. Il est composé d'un « Additionneur » et trois « Additionneurs avec retenue précédente ».
      1. Vérifier que le premier circuit logique « Additionneur » réalise bien l'addition de deux bits en faisant varier les variables d'entrée A et B.
      2. De même pour le deuxième circuit logique « Additionneur avec retenue » en ajoutant une éventuelle retenue précédente.
      3. Enfin, vérifier le fonctionnement du troisième circuit logique « Additionneur 4 bits ».
      Retenez que chaque opération effectuée dans un ordinateur, de la plus simple à la plus complexe, est réalisée à l'aide d'une combinaison de portes logiques.

      Implémentation électronique de la soustraction

      Réaliser le circuit logique d'un soustracteur sur un bit à l'aide du simulateur CircuitVerse.org. Les entrées seront A et B et il faut prévoir deux sorties : A - B et l'emprunt éventuel fait sur le bit de poids supérieur. Accéder au simulateur
      Bibliographie :
      • Site permettant de simplifier une expression booléenne : dcode.fr
      • Atelier pour créer des circuits électroniques en logique combinatoire : CircuitVerse.org