244 lines
6.3 KiB
Markdown
244 lines
6.3 KiB
Markdown
|
|
# Codage des booléens
|
|||
|
|
|
|||
|
|
## Attendus
|
|||
|
|
|
|||
|
|
| Contenus | Capacités attendues |
|
|||
|
|
| :--: | :-- |
|
|||
|
|
| Valeurs booléennes : 0,1. Opérateurs booléens : and, or, not.<br />Expressions booléennes | Dresser la table d’une expression booléenne |
|
|||
|
|
|
|||
|
|
## Définition
|
|||
|
|
|
|||
|
|
De nombreux dispositifs électroniques, électromécanique, (mécanique, électrique, pneumatique, etc....) fonctionnement en TOUT ou RIEN.
|
|||
|
|
|
|||
|
|
Ceci sous-entend qu'ils peuvent prendre 2 états.
|
|||
|
|
|
|||
|
|
Exemples :
|
|||
|
|
|
|||
|
|
- Arrêt / Marche
|
|||
|
|
- Enclenché / Déclenché
|
|||
|
|
- Vrai / Faux
|
|||
|
|
- Ouvert / Fermé
|
|||
|
|
- Avant / Arrière
|
|||
|
|
- Conduction / Blocage
|
|||
|
|
|
|||
|
|
Un système présentera un fonctionnement __logique combinatoire__ si l'état à un instant $`t`$ des variables de sortie ne dépend que de l'état des variables d'entrée au même instant $`t`$.
|
|||
|
|
|
|||
|
|
## Variable logique
|
|||
|
|
|
|||
|
|
Une variable logique ne peut prendre que 2 états:
|
|||
|
|
|
|||
|
|
| État Vrai | État Faux |
|
|||
|
|
| :--: | :--: |
|
|||
|
|
| Oui | Non |
|
|||
|
|
| True | False |
|
|||
|
|
| 1 | 0 |
|
|||
|
|
| Haut | Bas |
|
|||
|
|
| High | Low |
|
|||
|
|
|
|||
|
|
Pour ces raisons, il est beaucoup plus avantageux d'employer un système mathématique n'utilisant que 2 valeurs numériques.
|
|||
|
|
|
|||
|
|
Par convention, on utilise les valeurs 0 / 1 pour représenter les états d'une variable logique.
|
|||
|
|
|
|||
|
|
La variable binaire est aussi appelée variable __booléenne__. (De George Boole, mathématicien anglais 1815 - 1864)
|
|||
|
|
|
|||
|
|
## Fonction logique
|
|||
|
|
|
|||
|
|
Une fonction $`S`$ (exemple: allumer une lampe) peut comporter $`n`$ variables logiques.
|
|||
|
|
Pour chacune de ces combinaisons, la fonction peut prendre une valeur 0 ou 1.
|
|||
|
|
Nous obtenons $`2^n`$ combinaisons pour ces $`n`$ variables.
|
|||
|
|
|
|||
|
|
### Table de vérité
|
|||
|
|
|
|||
|
|
On représente l'ensemble valeurs d'entrées et sorties par une table de vérité :
|
|||
|
|
|
|||
|
|
- À chaque variable d'entrée correspond une colonne,
|
|||
|
|
- À chaque ligne, une valeur d'état possible,
|
|||
|
|
- Une colonne de sortie contient la valeur de l'état de l'opération.
|
|||
|
|
|
|||
|
|
Exemple :
|
|||
|
|
|
|||
|
|
```math
|
|||
|
|
\begin{aligned}
|
|||
|
|
S = 1 \text{ si} \left\{
|
|||
|
|
\begin{array}{l}
|
|||
|
|
a = 0 \text{ et } b = 1 \\
|
|||
|
|
a = 0 \text{ et } b = 0 \\
|
|||
|
|
a = 1 \text{ et } b = 0
|
|||
|
|
\end{array}
|
|||
|
|
\right.
|
|||
|
|
\end{aligned}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
| $`a`$ | $`b`$ | $`S`$ |
|
|||
|
|
| :--: | :--: | :--: |
|
|||
|
|
| 0 | 1 | 1 |
|
|||
|
|
| 0 | 0 | 1 |
|
|||
|
|
| 1 | 1 | 0 |
|
|||
|
|
| 1 | 1 | 0 |
|
|||
|
|
| 1 | 0 | 1 |
|
|||
|
|
|
|||
|
|
### Opérateurs logiques
|
|||
|
|
|
|||
|
|
#### Opérateur NON
|
|||
|
|
|
|||
|
|
On associe à une variable binaire quelconque $`a`$ son complément, noté $`\overline{a}`$
|
|||
|
|
|
|||
|
|
```math
|
|||
|
|
\begin{aligned}
|
|||
|
|
S = 1 \text{ ssi } a = 0
|
|||
|
|
\end{aligned}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
La table de vérité de l'opérateur NON :
|
|||
|
|
|
|||
|
|
| $`a`$ | $`S = \overline{a}`$ |
|
|||
|
|
| :--: | :--: |
|
|||
|
|
| 0 | 1 |
|
|||
|
|
| 1 | 0 |
|
|||
|
|
|
|||
|
|
#### Opérateur ET
|
|||
|
|
|
|||
|
|
L'état 1 est obtenu lors de l’action simultanée sur les 2 variables $`a`$ et $`b`$. L'opérateur est noté $`\land`$
|
|||
|
|
|
|||
|
|
```math
|
|||
|
|
\begin{aligned}
|
|||
|
|
S & = 1 \text{ ssi } a = 1 \text{ et } b = 1 \\
|
|||
|
|
& = a \land b
|
|||
|
|
\end{aligned}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
La table de vérité de l'opérateur ET :
|
|||
|
|
|
|||
|
|
| $`a`$ | $`b`$ | $`S = a \land b`$ |
|
|||
|
|
| :--: | :--: | :--: |
|
|||
|
|
| 0 | 0 | 0 |
|
|||
|
|
| 0 | 1 | 0 |
|
|||
|
|
| 1 | 0 | 0 |
|
|||
|
|
| 1 | 1 | 1 |
|
|||
|
|
|
|||
|
|
##### Propriétés
|
|||
|
|
|
|||
|
|
```math
|
|||
|
|
\begin{aligned}
|
|||
|
|
a \land a & = a \\
|
|||
|
|
a \land 1 & = a \\
|
|||
|
|
a \land \overline{a} & = 0 \\
|
|||
|
|
a \land 0 & = 0
|
|||
|
|
\end{aligned}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### Opérateur OU
|
|||
|
|
|
|||
|
|
L'état 1 est obtenu lors de l’action simultanée sur l'une des 2 variables ou les 2. L'opérateur est noté $`\lor`$
|
|||
|
|
|
|||
|
|
```math
|
|||
|
|
\begin{aligned}
|
|||
|
|
S = 1 \text{ si} \left\{
|
|||
|
|
\begin{array}{l}
|
|||
|
|
a = 0 \text{ ou } b = 1 \\
|
|||
|
|
a = 1 \text{ ou } b = 0 \\
|
|||
|
|
a = 1 \text{ ou } b = 1
|
|||
|
|
\end{array}
|
|||
|
|
\right.
|
|||
|
|
\end{aligned}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
La table de vérité de l'opérateur OU :
|
|||
|
|
|
|||
|
|
| $`a`$ | $`b`$ | $`S = a \lor b`$ |
|
|||
|
|
| :--: | :--: | :--: |
|
|||
|
|
| 0 | 0 | 0 |
|
|||
|
|
| 0 | 1 | 1 |
|
|||
|
|
| 1 | 0 | 1 |
|
|||
|
|
| 1 | 1 | 1 |
|
|||
|
|
|
|||
|
|
##### Propriétés
|
|||
|
|
|
|||
|
|
```math
|
|||
|
|
\begin{aligned}
|
|||
|
|
a \lor a & = a \\
|
|||
|
|
a \lor 1 & = 1 \\
|
|||
|
|
a \lor \overline{a} & = 1 \\
|
|||
|
|
a \lor 0 & = a
|
|||
|
|
\end{aligned}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Algèbre de Boole
|
|||
|
|
|
|||
|
|
#### Définition
|
|||
|
|
|
|||
|
|
Système algébrique constitué de l'ensemble $`\{0, 1\}`$, muni des 3 opérateurs de base NON, ET, OU.
|
|||
|
|
|
|||
|
|
#### Propriétés
|
|||
|
|
|
|||
|
|
- __Associativité__ : Comme avec les opérations habituelles, certaines parenthèses sont inutiles. Exemple : $`( a \land b ) \land c = a \land (b \land c) = a \land b \land c`$
|
|||
|
|
- __Commutativité__ : L'ordre est sans importance. Exemple : $`a \land b = b \land a`$
|
|||
|
|
- __Distributivité__ : Exemple : $`a \lor ( b \land c ) = ( a \lor b ) \land ( a \lor c )`$
|
|||
|
|
- __Idempotence__ : Exemple : $`a \land a \land a \land \dots \land a = a`$
|
|||
|
|
|
|||
|
|
### Forme canonique
|
|||
|
|
|
|||
|
|
Combinaison des variables de la fonction via les opérateurs de base de l’__algèbre de Boole__.
|
|||
|
|
|
|||
|
|
La fonction $`S`$ définie par :
|
|||
|
|
|
|||
|
|
```math
|
|||
|
|
\begin{aligned}
|
|||
|
|
S = 1 \text{ si} \left\{
|
|||
|
|
\begin{array}{l}
|
|||
|
|
a = 0 \text{ et } b = 1 \\
|
|||
|
|
a = 0 \text{ et } b = 0 \\
|
|||
|
|
a = 1 \text{ et } b = 0
|
|||
|
|
\end{array}
|
|||
|
|
\right.
|
|||
|
|
\end{aligned}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
$`S`$ s'écrit sous sa forme canonique : $`S= (\overline{a} \land b) \lor (\overline{a} \land \overline{b}) \lor (a \land \overline{b})`$
|
|||
|
|
|
|||
|
|
###
|
|||
|
|
|
|||
|
|
## Exercices
|
|||
|
|
|
|||
|
|
### Établir des tables de vérité
|
|||
|
|
|
|||
|
|
**Travail à effectuer** : Écrire les tables de vérité des expressions booléennes suivantes :
|
|||
|
|
|
|||
|
|
1. $`S(a, b) = \overline{a} \land b`$
|
|||
|
|
2. $`S(a, b) = b \lor (a \land b)`$
|
|||
|
|
3. $`S(a, b) = a \land (a \lor b)`$
|
|||
|
|
4. $`S(a, b, c) = (\overline{a} \land b) \lor (a \land c)`$
|
|||
|
|
5. Communication = Émetteur ET Récepteur
|
|||
|
|
6. Décrocher = (Sonnerie ET Décision de répondre) OU décision d'appeler
|
|||
|
|
7. Bac = Avoir la moyenne OU (NON Avoir la moyenne ET rattrapage)
|
|||
|
|
|
|||
|
|
### Équivalence d'expressions booléennes
|
|||
|
|
|
|||
|
|
1. Montrer que $`(a \land b) = \overline{\overline{a} \lor \overline{b}}`$
|
|||
|
|
2. Montrer que $`(a \lor b) = \overline{\overline{a} \land \overline{b}}`$
|
|||
|
|
|
|||
|
|
N.B : Deux expressions booléennes sont équivalentes si leurs tables de vérité le sont.
|
|||
|
|
|
|||
|
|
Autrement dit, si pour toutes les entrées des tables de vérité, l'ensemble des valeurs de sorties de ces mêmes tables sont équivalentes alors les expressions booléennes sont équivalentes.
|
|||
|
|
|
|||
|
|
### Déterminer une expression booléenne
|
|||
|
|
|
|||
|
|
| a | b | ssi(a, b) |
|
|||
|
|
| :--: | :--: | :--: |
|
|||
|
|
| 0 | 0 | __1__ |
|
|||
|
|
| 0 | 1 | __0__ |
|
|||
|
|
| 1 | 0 | __0__ |
|
|||
|
|
| 1 | 1 | __1__ |
|
|||
|
|
|
|||
|
|
**Travail à effectuer** : Trouver l'expression booléenne, notée ssi(a, b) à partir de la table de vérité ci-dessus.
|
|||
|
|
|
|||
|
|
### Loi de De Morgan
|
|||
|
|
|
|||
|
|
Les __lois de De Morgan__ sont des identités entre propositions logiques. Elles ont été formulées par le mathématicien britannique Augustus De Morgan (1806-1871).
|
|||
|
|
|
|||
|
|
1. $`\overline{(a \lor b)} = \overline{a} \land \overline{b}`$
|
|||
|
|
2. $`\overline{(a \land b)} = \overline{a} \lor \overline{b}`$
|
|||
|
|
|
|||
|
|
**Travail à effectuer** : Démontrer ces 2 lois.
|
|||
|
|
|