ajout séquence fonctions booléennes

This commit is contained in:
2023-07-03 17:54:40 +02:00
parent 02967d029f
commit 1ae2f22c46
9 changed files with 347 additions and 264 deletions

View File

@@ -1,14 +1,16 @@
# Codage des booléens
## Codage des booléens
## Attendus
> Ce cours fournit une introduction à la logique booléenne et à la manière dont elle s'applique à l'informatique. Vous apprendrez non seulement les bases des opérations booléennes, mais vous comprendrez également comment ces opérations peuvent être utilisées pour créer des structures plus complexes, telles que des additions binaires, des multiplexeurs, des décodeurs et, finalement, un ordinateur entier.
| Contenus | Capacités attendues |
| :--: | :-- |
| Valeurs booléennes : 0,1. Opérateurs booléens : and, or, not.<br />Expressions booléennes | Dresser la table dune expression booléenne |
## Le programme
![bo](assets/bo.png)
---------
## Définition
De nombreux dispositifs électroniques, électromécanique, (mécanique, électrique, pneumatique, etc....) fonctionnement en TOUT ou RIEN.
De nombreux dispositifs électroniques, électromécaniques, (mécaniques, électriques, pneumatiques, etc....) fonctionnement en TOUT ou RIEN.
Ceci sous-entend qu'ils peuvent prendre 2 états.
@@ -23,29 +25,26 @@ Exemples :
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:
Une variable logique est un type de variable qui peut prendre uniquement l'une de deux valeurs, généralement désignées comme 0 (faux) et 1 (vrai). Ces deux valeurs sont souvent utilisées pour représenter deux états opposés. Par exemple :
| État Vrai | État Faux |
| :--: | :--: |
| Oui | Non |
| True | False |
| 1 | 0 |
| Haut | Bas |
| High | Low |
| :-------: | :-------: |
| Oui | Non |
| True | False |
| 1 | 0 |
| Haut | Bas |
Pour ces raisons, il est beaucoup plus avantageux d'employer un système mathématique n'utilisant que 2 valeurs numériques.
*Par exemple, la variable "IsLightOn" peut avoir deux états : 1 (la lumière est allumée) ou 0 (la lumière est éteinte).*
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.
Une fonction logique est une expression qui produit une valeur de vérité à partir d'autres valeurs de vérité. Par exemple, une fonction logique peut comporter des variables logiques $`n`$. Pour chacune de ces combinaisons, la fonction peut prendre une valeur 0 ou 1. Nous obtenons donc $`2^n`$ combinaisons pour ces $`n`$ variables.
### Table de vérité
@@ -163,6 +162,36 @@ La table de vérité de l'opérateur OU :
\end{aligned}
```
### Portes Logiques de Base
Une porte logique est un dispositif qui effectue une opération logique sur un ou plusieurs signaux logiques produisant une sortie. Les portes logiques de base sont :
1. **Porte AND** : Cette porte a deux ou plusieurs entrées et une sortie. La sortie est vraie (1) si toutes les entrées sont vraies.
![AND Gate](https://upload.wikimedia.org/wikipedia/commons/6/64/AND_ANSI.svg?uselang=fr)
2. **Porte OR** : Cette porte a deux ou plusieurs entrées et une sortie. La sortie est vraie (1) si au moins une des entrées est vraie.
![OR Gate](https://upload.wikimedia.org/wikipedia/commons/b/b5/OR_ANSI.svg?uselang=fr)
3. **Porte NOT** : Cette porte a une seule entrée et une sortie. La sortie est l'inverse de l'entrée. Si l'entrée est vraie (1), la sortie est fausse (0) et vice versa.
![NOT Gate](https://upload.wikimedia.org/wikipedia/commons/b/bc/NOT_ANSI.svg?uselang=fr)
4. **Porte XOR (OU exclusif)** : Cette porte a deux entrées et une sortie. La sortie est vraie (1) si une, et seulement une, des entrées est vraie.
![XOR Gate](https://upload.wikimedia.org/wikipedia/commons/0/01/XOR_ANSI.svg?uselang=fr)
5. **Porte NAND (NON-ET)** : Cette porte a deux ou plusieurs entrées et une sortie. La sortie est fausse (0) uniquement si toutes les entrées sont vraies. C'est l'inverse de la porte AND.
![NAND Gate](https://upload.wikimedia.org/wikipedia/commons/f/f2/NAND_ANSI.svg?uselang=fr)
6. **Porte NOR (NON-OU)** : Cette porte a deux ou plusieurs entrées et une sortie. La sortie est vraie (1) uniquement si toutes les entrées sont fausses. C'est l'inverse de la porte OR.
![NOR Gate](https://upload.wikimedia.org/wikipedia/commons/6/6c/NOR_ANSI.svg?uselang=fr)
---------
### Algèbre de Boole
#### Définition
@@ -196,13 +225,15 @@ S = 1 \text{ si} \left\{
$`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 :
**Travail à effectuer** : Écrire les tables de vérité des expressions booléennes suivantes.
Conseil : essayez d'imaginer comment la lumière d'une maison pourrait être contrôlée par deux interrupteurs (a et b).
1. $`S(a, b) = \overline{a} \land b`$
2. $`S(a, b) = b \lor (a \land b)`$
@@ -241,3 +272,20 @@ Les __lois de De Morgan__ sont des identités entre propositions logiques. Elles
**Travail à effectuer** : Démontrer ces 2 lois.
----------
### Ressources supplémentaires
### NANDGAME
Si vous êtes intéressé par une approche pratique et interactive pour apprendre ces concepts, je vous recommande fortement de consulter [NANDGAME](http://nandgame.com/). Il s'agit d'un jeu en ligne gratuit où vous pouvez construire un ordinateur à partir de zéro en utilisant uniquement la porte logique NAND.
À travers une série de défis et d'énigmes, NANDGAME vous guidera à travers les concepts de base de la logique booléenne et vous montrera comment ces concepts peuvent être utilisés pour construire des structures plus complexes. En fin de compte, vous aurez une meilleure compréhension de la manière dont les ordinateurs fonctionnent au niveau le plus fondamental.
-----------
Auteurs : Florian Mathieu - Philippe Boddaert
Licence CC BY NC
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Licence Creative Commons" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a> <br />Ce cours est mis à disposition selon les termes de la <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Licence Creative Commons Attribution - Pas dUtilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International</a>.