Booléens, portes logiques et circuits⚓︎
Fiche méthode & révision — Première NSI · Chapitres 04 et 13
Fiche compacte pour refaire seul les exercices : expressions booléennes, portes logiques, tables de vérité, circuits combinatoires (MUX, additionneurs) et lois de De Morgan.
1. Objectifs⚓︎
À la fin du chapitre, vous devez savoir :
- connaître les six portes (NOT, AND, OR, XOR, NAND, NOR) et leurs tables ;
- lire une expression booléenne et un circuit ;
- expliquer le rôle de chaque porte et des résultats intermédiaires ;
- calculer la valeur d'une expression et construire une table de vérité ;
- construire un circuit à partir d'une expression (et l'inverse) ;
- vérifier l'équivalence de deux expressions ; appliquer De Morgan.
2. Définitions essentielles⚓︎
| Terme | Définition |
|---|---|
| Booléen | Valeur 0 / 1 (faux / vrai). |
| Algèbre de Boole | Calcul sur les valeurs 0 et 1. |
| Entrée | Valeur fournie à un circuit / une porte. |
| Sortie | Valeur produite. |
| Porte logique | Composant réalisant une opération booléenne. |
| Circuit combinatoire | Assemblage de portes dont la sortie ne dépend que des entrées. |
| Expression booléenne | Combinaison de variables et d'opérateurs (ET, OU, NON…). |
| Table de vérité | Tableau donnant la sortie pour toutes les combinaisons d'entrées. |
| Équivalence | Deux expressions ayant la même table de vérité. |
| Multiplexeur (MUX) | Sélectionne une entrée parmi plusieurs selon une commande. |
| Demi-additionneur | Additionne 2 bits (somme + retenue). |
| Additionneur complet | Additionne 2 bits + une retenue entrante. |
3. Les six portes⚓︎
| Porte | Notation | Python | Table |
|---|---|---|---|
| NOT | ¬a | not a |
0→1, 1→0 |
| AND | a · b | a and b |
1 seulement si a=b=1 |
| OR | a + b | a or b |
1 si au moins un 1 |
| XOR | a ⊕ b | a != b |
1 si les bits diffèrent |
| NAND | ¬(a · b) | not (a and b) |
inverse de AND |
| NOR | ¬(a + b) | not (a or b) |
inverse de OR |
Tables à deux entrées
| a | b | AND | OR | XOR | NAND | NOR |
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 |
4. Fiches méthodes⚓︎
Traduire une phrase en expression booléenne
- Repérer : « et » → AND, « ou » → OR, « non / pas » → NOT, « ou exclusif » → XOR.
- Exemple : « la barrière s'ouvre si le badge est valide et le feu n'est
pas rouge » →
badge and not feu_rouge. - Erreur : confondre et (AND) et ou (OR).
Calculer une expression
- Étapes : remplacer les variables par
0/1, calculer les parenthèses d'abord, puis NOT, puis AND, puis OR. - Exemple :
a=1, b=0→a and not b=1 and 1=1.
Construire une table de vérité (1 à 4 variables)
- Nombre de lignes =
2^n(n= nombre de variables) : 2, 4, 8 ou 16. - Étapes : lister toutes les combinaisons (ordre binaire croissant), calculer la sortie.
- Erreur : oublier des combinaisons.
Ajouter les colonnes intermédiaires
- Idée : une colonne par sous-expression (résultat partiel) avant la sortie.
- Exemple : pour
(a and b) or c, créer une colonnea and b, puis la sortie.
Lire un circuit et écrire sa sortie
- Étapes : partir des entrées, nommer chaque résultat intermédiaire, remonter porte par porte jusqu'à la sortie.
Construire un circuit à partir d'une expression
- Étapes : repérer l'opérateur principal, dessiner sa porte, puis câbler récursivement les sous-expressions vers ses entrées.
Utiliser Capytale pour dessiner et tester un circuit
- Étapes : placer les entrées, ajouter les portes, relier, puis tester toutes les combinaisons pour vérifier la table.
Vérifier l'équivalence de deux expressions
- Méthode : construire la table de vérité de chacune ; elles sont équivalentes si les colonnes de sortie sont identiques.
Appliquer les lois de De Morgan
not (a and b) = (not a) or (not b);not (a or b) = (not a) and (not b).- Usage : « faire entrer » une négation dans une parenthèse.
Analyser MUX, demi-additionneur, additionneur complet
- MUX (2→1) :
sortie = (not s and a) or (s and b)(la commandeschoisit). - Demi-additionneur :
S = a ⊕ b, retenueC = a · b. - Additionneur complet :
S = a ⊕ b ⊕ cin,cout = (a·b) or (cin·(a⊕b)).
5. Lecture de circuit⚓︎
Méthode
On part des entrées, on nomme chaque résultat intermédiaire (sortie de chaque porte), et on termine par la porte reliée à la sortie.
Modèle de tableau
| Entrées (a, b, c) | Sous-expression 1 | Sous-expression 2 | Sortie |
|---|---|---|---|
| 1, 0, 1 | a and b = 0 |
… or c |
1 |
6. Propriétés⚓︎
| Loi | Exemple |
|---|---|
| Commutativité | a and b = b and a ; a or b = b or a |
| Associativité | (a and b) and c = a and (b and c) |
| Distributivité | a and (b or c) = (a and b) or (a and c) |
| De Morgan | not (a and b) = not a or not b ; not (a or b) = not a and not b |
7. Erreurs fréquentes⚓︎
| Erreur | Cause / correction |
|---|---|
| Confondre ET et OU | « et » = AND (les deux) ; « ou » = OR (au moins un) |
| Confondre OU et XOR | OR vrai si 1,1 ; XOR faux si 1,1 |
| Oublier une négation | relire chaque « non / pas » |
| Oublier des parenthèses | NOT, puis AND, puis OR : parenthéser si besoin |
| Pas de colonnes intermédiaires | créer une colonne par sous-expression |
| Oublier des combinaisons | 2^n lignes exactement |
| Inverser 0 et 1 | relire la table de la porte |
| Lire un circuit depuis la sortie | partir des entrées, nommer les sous-circuits |
| Conclure une équivalence sans vérifier | comparer les tables complètes |
8. Questions-réponses corrigées⚓︎
Vocabulaire⚓︎
1. (N1) Qu'est-ce qu'une table de vérité ?
Un tableau donnant la sortie pour toutes les combinaisons d'entrées.
2. (N1) Que fait une porte NOT ?
Elle inverse : 0 → 1, 1 → 0.
3. (N2) Quand deux expressions sont-elles équivalentes ?
Quand elles ont exactement la même table de vérité.
4. (N1) À quoi sert un multiplexeur ?
À choisir une entrée parmi plusieurs selon une commande.
5. (N2) Différence entre demi-additionneur et additionneur complet ?
Le demi additionne 2 bits ; le complet additionne 2 bits + une retenue entrante.
Compréhension⚓︎
6. (N1) Combien de lignes pour une table à 3 variables ?
2³ = 8.
7. (N2) Pourquoi ajouter des colonnes intermédiaires ?
Pour décomposer le calcul et limiter les erreurs.
8. (N2) En quoi OR et XOR diffèrent-ils ?
Pour 1,1 : OR vaut 1, XOR vaut 0.
9. (N3) Que devient not (a and b) par De Morgan ?
not a or not b.
10. (N2) Pourquoi lire un circuit depuis les entrées ?
Parce que chaque porte a besoin des résultats précédents pour produire le sien.
Tables de vérité⚓︎
11. (N1) Compléter AND pour a=1, b=0.
0.
12. (N1) Compléter XOR pour a=1, b=1.
0.
13. (N2) Que vaut (a or b) and not c pour a=0, b=1, c=0 ?
(0 or 1) and not 0 = 1 and 1 = 1.
14. (N3) Donner la sortie S d'un demi-additionneur pour a=1, b=1.
S = a ⊕ b = 0, retenue C = 1.
15. (N3) Additionneur complet, a=1, b=1, cin=1 : S et cout ?
S = 1 ⊕ 1 ⊕ 1 = 1 ; cout = 1.
Lecture de circuits⚓︎
16. (N1) Un circuit applique NOT puis AND. Sortie pour a=1, b=0 (not a and b) ?
not 1 and 0 = 0 and 0 = 0.
17. (N2) MUX (not s and a) or (s and b), s=0, a=1, b=0 : sortie ?
s=0 → on prend a → 1.
18. (N2) Même MUX avec s=1, a=1, b=0 : sortie ?
s=1 → on prend b → 0.
19. (N3) Une porte donne 1 uniquement si les entrées diffèrent : laquelle ?
XOR.
20. (N2) Une porte vaut 0 seulement si a=b=1 : laquelle ?
NAND.
Méthode⚓︎
21. (N1) Traduire « a et non b » en Python.
a and not b.
22. (N2) Comment vérifier que deux circuits sont équivalents ?
Comparer leurs tables de vérité complètes.
23. (N2) Écrire SSi (a équivaut à b) en booléen.
a == b, soit not (a ⊕ b) (ou (a and b) or (not a and not b)).
24. (N3) Traduire not (a or b) sans parenthèse de négation (De Morgan).
not a and not b.
25. (N3) Construire la table de a xor b : combien de 1 en sortie ?
Deux (01 et 10).
Correction d'erreurs⚓︎
26. (N1) « a ou b » traduit par a and b : erreur ?
« ou » = or, pas and.
27. (N2) a or b donné 0 pour a=1, b=0 : erreur ?
Faux : 1 or 0 = 1.
28. (N2) Table à 2 variables avec 3 lignes : erreur ?
Il en faut 2² = 4.
29. (N3) not (a and b) simplifié en not a and not b : erreur ?
Faux : De Morgan donne not a or not b.
30. (N2) Conclure « équivalents » après une seule ligne identique : erreur ?
Il faut comparer toutes les lignes des deux tables.
9. Exercices flash corrigés⚓︎
Compléter une table : NOR pour a=0, b=0
1.
Calculer une sortie : a and (b or c) pour 1, 0, 1
1 and (0 or 1) = 1.
Retrouver une porte : sortie 1 sauf si a=b=1
NAND.
Traduire en Python : a ⊕ b
a != b (ou a ^ b).
Appliquer De Morgan : not (a and b)
not a or not b.
Comparer deux circuits : a or b et not (not a and not b)
Équivalents (De Morgan).
Déterminer la commande d'un MUX : sortie = a quand…
…la commande s = 0.
Interpréter un additionneur : a=1, b=0, cin=1
S = 0, cout = 1 (1 + 0 + 1 = 10).
À retenir absolument⚓︎
Les six portes
| Porte | 1 en sortie quand… |
Python |
|---|---|---|
| NOT | l'entrée est 0 |
not a |
| AND | les deux sont 1 |
a and b |
| OR | au moins un est 1 |
a or b |
| XOR | les bits diffèrent | a != b |
| NAND | pas (a=b=1) |
not (a and b) |
| NOR | aucun n'est 1 |
not (a or b) |
Méthodes clés
- table de vérité :
2^nlignes, toutes les combinaisons, colonnes intermédiaires ; - circuit → expression : partir des entrées, nommer chaque sortie de porte ;
- expression → circuit : repérer l'opérateur principal, câbler les sous-expressions ;
- équivalence : mêmes tables de vérité.
Lois de De Morgan
not (a and b) = not a or not b;not (a or b) = not a and not b.