Fonctions logiques : ET, OU, NON expliquées
numerique-et-binaire

Fonctions logiques : ET, OU, NON expliquées

9 min de lecture

Une fonction logique calcule un résultat qui vaut 0 ou 1 à partir d’une ou plusieurs variables qui ne valent, elles aussi, que 0 ou 1. Trois fonctions de base suffisent à tout construire : ET exige que toutes les entrées soient à 1, OU se contente d’une seule, NON inverse l’état reçu.

Une variable qui ne connaît que deux réponses

Une variable logique, appelée aussi variable booléenne, ne prend que deux valeurs, 0 ou 1. Ces chiffres ne comptent rien : ils codent la réponse à une question fermée. L’interrupteur est-il fermé ? Le code saisi est-il juste ? Par convention, 1 signifie vrai, actif ou fermé, et 0 faux, inactif ou ouvert.

Dans un circuit électronique, 0 correspond à une tension basse et 1 à une tension haute, la zone intermédiaire restant ininterprétée. Les variables se notent par des minuscules, a, b, c, et la sortie par S.

Plusieurs variables alignées forment un mot binaire, celui que décrit le codage en base 2. En numération, 101 représente le nombre cinq ; en logique, la même suite donne trois réponses indépendantes.

ET, OU, NON : les trois fonctions logiques de base

Chaque fonction se décrit par une phrase, une équation, une table de vérité listant toutes les combinaisons d’entrées, et un symbole. La norme internationale CEI 60617 dessine chaque porte logique comme un rectangle marqué d’un signe ; les schémas d’origine américaine emploient des formes arrondies.

ET : toutes les conditions à la fois

La sortie vaut 1 seulement si toutes les entrées valent 1. L’équation s’écrit S = a · b, lue « a et b » : le point rappelle la multiplication, et tout produit contenant un 0 vaut 0. Le rectangle porte le signe & ; la forme américaine ressemble à un D.

Deux interrupteurs en série sur une lampe réalisent cette fonction : le courant ne passe que si a et b sont fermés.

Deux interrupteurs muraux blancs unis posés côte à côte sur un mur clair

La presse d’atelier à commande bimanuelle applique la même règle à la sécurité : l’outil ne descend que si chaque main appuie sur son bouton, ce qui tient les deux mains hors de la zone dangereuse. Les dispositifs réels, encadrés par les normes de sécurité des machines, exigent en plus un appui quasi simultané et le relâchement des deux boutons avant tout nouveau cycle : des conditions de temps et de mémoire, donc de logique séquentielle.

OU : une condition suffit

La sortie vaut 1 dès qu’au moins une entrée vaut 1. L’équation s’écrit S = a + b, lue « a ou b », et 1 + 1 y donne 1, car la question reste « au moins une ? ». Le rectangle porte la mention ≥1 ; la forme américaine évoque une pointe de flèche incurvée.

Deux interrupteurs en parallèle suffisent : un seul chemin fermé allume la lampe. Une sonnette commandée depuis le portail et depuis la porte repose sur ce câblage. Ce OU est dit inclusif, car il accepte que les deux conditions soient vraies ensemble.

NON : l’inversion

La fonction NON n’a qu’une entrée et renvoie son contraire : S = a̅, lu « a barre ». Le rectangle porte le chiffre 1 et un petit cercle sur la sortie, l’indicateur de négation, qui signale partout une inversion.

Exemple concret : le bouton d’arrêt d’urgence d’une machine utilise un contact à ouverture, fermé au repos. En notant a l’appui sur le bouton, l’autorisation de marche vaut a̅.

NON-ET, NON-OU et OU exclusif, les fonctions dérivées

Trois combinaisons des briques précédentes portent un nom propre, car l’électronique les réalise directement : dans les puces actuelles, une porte ET est le plus souvent une porte NON-ET suivie d’un inverseur.

  • NON-ET, ou NAND, vaut 0 seulement quand toutes les entrées valent 1 : S = NON(a · b).
  • NON-OU, ou NOR, vaut 1 seulement quand toutes les entrées valent 0 : S = NON(a + b).
  • Le OU exclusif, ou XOR, vaut 1 quand les entrées diffèrent : S = a ⊕ b = a̅ · b + a · b̅. Son rectangle porte la mention =1.

L’éclairage d’escalier en va-et-vient illustre le OU exclusif. Deux interrupteurs inverseurs, en bas et en haut, sont reliés par deux fils appelés navettes : basculer l’un ou l’autre inverse l’état de la lampe, quelle que soit la position du second. Selon la position de départ choisie comme 0, la lampe suit a ⊕ b ou son complément.

Le langage courant hésite entre les deux OU. « Fromage ou dessert » exclut de prendre les deux : OU exclusif. « Ouvert aux élèves de seconde ou aux internes » accepte celui qui coche les deux cases : OU inclusif.

Les sept tables de vérité tiennent dans un seul tableau :

abNON aETOUNON-ETNON-OUOU exclusif
00100110
01101101
10001101
11011000

La colonne NON-ET est l’inverse exact de la colonne ET, et le OU exclusif ne diffère du OU que sur la dernière ligne.

Carte électronique verte vue en gros plan avec ses composants lisses

Écrire une fonction logique à partir d’un cahier des charges

La méthode tient en quatre gestes.

  1. Nommer chaque entrée par une lettre et fixer ce que signifie son 1.
  2. Dresser la table de vérité, une ligne par combinaison.
  3. Pour chaque ligne où S vaut 1, écrire le produit des variables, barrées quand elles valent 0.
  4. Relier ces produits par des OU, puis simplifier.

Exemple : la gâche électrique d’une porte d’immeuble. Elle s’ouvre si le code saisi au digicode est valide et que l’immeuble n’est pas en fermeture nocturne, ou, à toute heure, si le gardien appuie sur le bouton de sa loge. Trois variables : c vaut 1 si le code est valide, n vaut 1 en fermeture nocturne, g vaut 1 quand le gardien appuie. Le digicode, qui retient l’ordre des touches, relève de la logique séquentielle ; c n’en garde que le verdict.

cngSSituation
0000aucune demande, de jour
0011gardien, de jour
0100aucune demande, la nuit
0111gardien, la nuit
1001code de jour
1011code et gardien, de jour
1100code refusé la nuit
1111code la nuit, gardien

Les lignes suivent le comptage de 0 à 7 en binaire, ce qui évite d’oublier une combinaison ; la conversion décimal binaire détaille cette suite.

Cinq lignes donnent S = 1. Leur lecture directe fournit l’équation brute, dite somme de produits : S = c̅ · n̅ · g + c̅ · n · g + c · n̅ · g̅ + c · n̅ · g + c · n · g. Juste, mais lourde pour une règle qui s’énonce en une phrase.

L’algèbre de Boole pour alléger l’équation

Ces règles portent le nom de George Boole. Ce mathématicien anglais publie en 1847, à Cambridge, The Mathematical Analysis of Logic, puis en 1854 An Investigation of the Laws of Thought, où le raisonnement devient un calcul sur des symboles. Cette algèbre de Boole repose sur quelques lois :

  • a + 0 = a et a · 1 = a : l’élément neutre ne change rien.
  • a + 1 = 1 et a · 0 = 0 : l’élément absorbant impose son résultat.
  • a + a = a : répéter une variable ne l’ajoute pas.
  • a + a̅ = 1 et a · a̅ = 0 : une variable et son contraire couvrent tous les cas.

Retour à la porte d’immeuble

La somme c̅ · n̅ · g + c̅ · n · g donne c̅ · g, car n + n̅ = 1. La somme c · n̅ · g̅ + c · n̅ · g donne c · n̅, pour la même raison. Enfin, la loi a + a = a autorise à réutiliser c · n̅ · g : associé à c · n · g, il donne c · g, et c̅ · g + c · g = g.

Résultat : S = c · n̅ + g. La phrase du cahier des charges réapparaît telle quelle, et cinq termes deviennent deux. Au-delà de quatre variables, le tableau de Karnaugh remplace ce calcul par des regroupements visuels.

Deux boutons-poussoirs ronds verts unis sur le pupitre d’une presse d’atelier

Les deux lois de De Morgan

Augustus De Morgan, contemporain britannique de Boole, a laissé son nom à deux lois :

  • NON(a · b) = a̅ + b̅ : le contraire de « les deux » est « au moins un manque ».
  • NON(a + b) = a̅ · b̅ : le contraire de « au moins un » est « aucun ».

Les lois de De Morgan reformulent une condition par son contraire. Sur la presse bimanuelle, la condition de blocage NON(a · b) devient a̅ + b̅ : l’outil reste bloqué dès qu’une main quitte son bouton.

Du schéma au circuit logique câblé

Chaque opérateur devient une porte, chaque variable un fil. Pour S = c · n̅ + g, le circuit logique compte trois portes : un inverseur sur n, une porte ET qui reçoit c et n̅, une porte OU qui reçoit la sortie du ET et g.

Les portes NON-ET et NON-OU ont une propriété précieuse : chacune, employée seule, reconstitue toutes les autres. Une porte NON-ET aux entrées reliées devient un inverseur, et la porte d’immeuble se câble avec quatre portes NON-ET : deux inverseurs pour n et g, une qui reçoit c et n̅, une dernière qui combine les résultats.

Près d’un siècle après Boole, Claude Shannon consacre son mémoire de master au MIT, A Symbolic Analysis of Relay and Switching Circuits, à l’usage de cette algèbre pour analyser et simplifier les circuits à relais, technologie des centraux téléphoniques dont l’histoire de la communication retrace l’essor. Les transistors ont remplacé les relais ; les équations sont restées.

Dans un objet technique, ces portes forment le cœur de la fonction traiter de la chaîne d’information, souvent confiée aujourd’hui à un automate programmable.

Prochaine étape : ajoutez à la porte d’immeuble une quatrième variable, b, le badge des secours qui ouvre à toute heure, dressez la table de seize lignes et vérifiez que l’équation devient S = c · n̅ + g + b.

Trois questions courantes sur les opérateurs logiques

Comment s’écrivent les fonctions logiques en informatique ?

En Python, and, or et not appliquent ET, OU et NON aux valeurs True et False, et l’opérateur « ^ » entre deux booléens renvoie leur OU exclusif. Excel propose en français ET, OU, NON et OUX ; d’après la documentation de Microsoft, OUX renvoie VRAI quand le nombre d’entrées VRAI est impair. Chaque opérateur logique garde sa table de vérité, seule l’écriture change.

Combien de lignes compte une table de vérité ?

Elle en compte 2 puissance n pour n variables : 2 lignes pour une entrée, 4 pour deux, 8 pour trois, 16 pour quatre. Chaque variable ajoutée double les combinaisons, comme chaque bit ajouté double les valeurs d’un nombre binaire.

Un circuit logique peut-il mémoriser une information ?

Pas si ses portes sont câblées des entrées vers la sortie : le résultat dépend alors des seules entrées présentes, c’est la logique combinatoire. Dès qu’une sortie revient vers une entrée, le circuit retient un état, comme une bascule qui se souvient d’un appui déjà relâché. Cette logique séquentielle fait fonctionner digicodes, compteurs et mémoires.