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
etFalse
,l’opération de négation
not
donne l’inverse,les mots-clés
and
etor
sont des opérations logiques.
13.1. 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 |
13.2. Négation¶
Voici la table de vérité pour l’opérateur not
.
p |
not p |
---|---|
False |
True |
True |
False |
not False =
not True =
13.3. 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 =
13.4. 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 =
13.5. 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 =
13.6. 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.
13.7. 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.
13.8. 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.
13.9. 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.
13.10. 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.
13.11. 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
13.12. 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.