Exercices
Chapitre 5: Les booléens
1 Construire des tables de vérité
-
Produisez les tables de vérité pour les opérations suivantes:
- NAND :
- NOR :
- XOR :
-
Produire des tables de vérité pour :
2 Expressions équivalentes
Savoir-faire: Utiliser une table de vérité pour montrer que deux expressions logiques sont équivalentes
-
Montrer que:
-
Utiliser une table de vérité pour démontrer la propriété d’absorption de l’algèbre de Boole:
-
Montrer que:
3 Simplifications d’expressions booléennes
Utilisez les lois de l’algèbre de Boole (ne les apprenez pas!) pour simplifier ces expressions.
Utiliser le pour le «ET» et le pour le «OU» pour pouvoir utiliser les règles habituelles de développement et de factorisant de l’algèbre non booléen.
-
Simplifier l’expression:
Vérifier votre résultat avec une table de vérité.
-
Démontrer l’expression de
XOR
utilisée dans l’exercice 1: :Pour cela commencer par remarquer que:
Vérifier votre résultat avec une table de vérité.
4 Recherche d’expressions équivalentes (Plus dur)
Exprimer sous forme simplifiée les expressions suivantes:
Vous pouvez vérifier vos résultats en Python en utilisant la bibliothèque sympy
qui propose la
fonction simplify_logic
(Attention la syntaxe utilisée est: ET: &
, OU:
| et NON:
~`).
from sympy import symbols
from sympy.logic import simplify_logic
P, Q, R, S, T = symbols('P Q R S T')
simplify_logic((~P|Q)&(P|Q|S)&~S) # renvoie Q & !S
La fonction propose deux modes de simplifications:
- Produit(ET) de sommes(OU):
simplify_logic(expr, 'cnf')
- Somme(OU) de produit(ET):
simplify_logic(expr, 'dnf')