13. Raisonner - bool

Raisonner c’est lier logiquement entre elles des propositions pour aboutir à une proposition nouvelle, à une conclusion. La logique analyse de façon rigoureuse des propositions qui sont soit vraies soit fausses. On parle de la logique booléenne. Nous allons voir que :

  • les deux valeurs logiques sont True et False,

  • l’opération de négation not donne l’inverse,

  • les mots-clés and et or sont des opérations logiques.

Question

Une porte logique est




Table de vérité

Une table de vérité donne sous forme de tableau le résultat pour une opération logique pour toutes ses configurations. Par exemple pour deux propositions p et q nous avons 4 possibilités de combinaison et 4 résultats possibles pour l’opération and.

p

q

p and q

False

False

False

False

True

False

True

False

False

True

True

True

Négation

Voici la table de vérité pour l’opérateur not.

p

not p

False

True

True

False

not False =
not True  =

Et logique

La fonction et donne vrai si toutes les entrées sont vraies.

p

q

p and q

False

False

False

False

True

False

True

False

False

True

True

True

False and False =
False and True  =
True  and False =
True  and True  =

Ou logique

La fonction or donne vrai si au moins une des entrées est vraie.

p

q

p and q

0

0

0

0

1

1

1

0

1

1

1

1

False or False =
False or True  =
True  or False =
True  or True  =

Exclusive ou

p

q

p xor q

0

0

0

0

1

1

1

0

1

1

1

0

False xor False =
False xor True  =
True  xor False =
True  xor True  =

Porte OUI (identité)

C’est un opérateur logique dont la sortie est égale à l’état de l’entrée. Cette fonction ne présente pas d’intérêt d’un point de vue logique, mais peut être utile d’un point de vue technologique.

Voici son schéma technique.

Porte NON

La fonction NON (NOT en anglais) est un opérateur logique qui produit un résultat qui a la valeur inverse son entrée.

Voici son schéma technique. Le cercle représente une inversion de signal.

Porte ET

La fonction ET (AND en anglais) est un opérateur logique qui produit un résultat qui est VRAI seulement si les deux opérandes d’entrée ont la valeur VRAI.

Dans la porte ET ci-dessous nous ajoutons 3 objets de la classe Dot et nous rendons la porte interactive. Avec la souris nous pouvons cliquer sur les 2 terminaux d’entrée et la sortie va afficher la logique de la porte.

Porte OU

La fonction OU (OR en anglais) est un opérateur logique qui produit un résultat qui est VRAI seulement si au moins un des deux opérandes d’entrée a la valeur VRAI.

Dans la porte OU ci-dessous nous ajoutons 3 objets de la classe Dot et nous rendons la porte interactive. Avec la souris nous pouvons cliquer sur les 2 terminaux d’entrée et la sortie va afficher la logique de la porte.

La classe Dot est toujours définie, mais elle n’est plus affichée.

Porte XOR

La fonction OU exclusif, souvent appelé XOR (eXclusive OR) ou disjonction exclusive, produit un résultat qui a lui-même la valeur VRAI seulement si les deux opérandes ont des valeurs distinctes.

Dans la porte XOR ci-dessous nous ajoutons 3 objets de la classe Dot et nous rendons la porte interactive. Avec la souris nous pouvons cliquer sur les 2 terminaux d’entrée et la sortie va afficher la logique de la porte.

Nombre 4-bits

Le programme suivant définit une classe Bin4. Elle:

  • dessine un nombre à 4 digits binaires

  • à la position (x, y)

  • vérifie si un click est dedans

  • incrémente le nombre

Une ALU

L’unité arithmétique et logique (en anglais arithmetic–logic unit, ALU), est la partie de l’ordinateur chargé d’effectuer les calculs.

Dans cette ALU (en anglais arithmetic–logic unit, ALU), nous allons simuler une addition de deux opérandes de 4 bits. En cliquant avec la souris sur un des opérandes d’entrée, la valeur est incrémentée de 1. Les valeurs peuvent aller de 0 à 15.