BOOLEENS ET PORTES LOGIQUES
EXERCICES
Exercice 1
Dresser la table de vérité de l’expression S = (A and B)or(A and not C)or(Not B and C) :
A B C A and B A and not C Not B and C S
0 0 0 0 0 0 0
0 0 1 0 0 1 1
0 1 0 0 0 0 0
0 1 1 0 0 0 0
1 0 0 0 1 0 1
1 0 1 0 0 1 1
1 1 0 1 1 0 1
1 1 1 1 0 0 1
Exercice 2
U = A AND ┐B ; V = NOT (A V B) ; W = A NOR B
V = ┐A AND ┐B ; W = A.B + A barre. B barre
Exercice 3
Tableau 1 : U = A·B·C + A·C
Tableau 2 : V = A·( B · C+ B·C )
Tableau 3 : W = B
Exercice 4 (OPERATION BIT A BIT)
-1110000
-1111101
Exercice 4.1
Si A et B sont des variables booléennes, quelle est l’expression booléenne équivalente à ( not A) or B ?
— (A and B) or (not A and B) or (not A and not B)
— (A and B) or (not A and B)
— (not A and B) or (not A and not B)
— (A and B) or (not A and not B)
Exercice 4.2
Soit S l’expression booléenne S(a,b,c) = (not A and B) or C.
1) Quelles sont les valeurs possibles de a, b et c ? 0 ou 1
2) Combien de choix de triplets (a, b, c) existe-t-il alors ? 8
3) Ecrire de deux autres façons avec deux autres types de symboles cette expression.
A ∩ B U C ; ˥(a∙ b)+c
4) Pour chaque valeur prise par le triplet (a, b, c), déterminer la valeur de S.
A B C (not A and B) or C
0 0 0 1
0 1 0 0
0 0 1 1
0 1 1 1
1 0 0 0
1 1 0 1
1 0 1 1
1 1 1 1
5) Donner la table de vérité de l’expression S(a, b, c) = a + ˥(b · c).
A B C a + ˥(b · c)
0 0 0 0
0 1 0 0
0 0 1 0
0 1 1 1
1 0 0 1
1 1 0 1
1 0 1 1
1 1 1 1
Exercice 4.3
A chaque circuit logique on peut associer une expression (ou fonction) booléenne et réciproquement. C’est à partir de
l’algèbre de Boole qu’on a pu dans certaines circonstances, simplifier des circuits logiques.
1) Construire avec des portes simples, le circuit dont l’expression booléenne est S(a, b, c) = ˥(a + b) · c . Dresser sa
table de vérité.
A B C ˥(a + b) · c
0 0 0 0
0 1 0 0
0 0 1 1
0 1 1 0
1 0 0 0
1 1 0 0
1 0 1 1
1 1 1 0
2) S(e1, e2) = e1 and e2 or not e2
e e2 e1 and e2
1 or not e2
0 0 1
0 1 0
0 0 1
0 1 0
1 0 1
1 1 1
1 0 1
1 1 1
3) S(e1, e2, e3) = (e1 ∪ e2) ∩ e 1 ∪ e 3
e e2 e3 (e1 ∪ e2)
1 ∩
e1∪e 3
0 0 0 0
0 1 0 1
0 0 1 0
0 1 1 1
1 0 0 1
1 1 0 1
1 0 1 0
1 1 1 1
Exercice 5 ( avec le logiciel gratuit Logisim facile à télécharger et installer)
Si le logiciel Logisim est installé ou peut-être installé sur votre poste, réaliser les schémas des portes étudiés dans le
cours :
OUI, NON, ET, OU, NON ET, NON OU, OU EXCLUSIF, NON OU EXCLUSIF .
Remarque : Application en électricité domestique.
Une application utilisée de l’opérateur logique XOR en électricité domestique est dans les salles où une ampoule peut
être allumée ou éteinte par deux interrupteurs placés près de deux entrées. Chacun des deux interrupteurs peut soit
allumer ou éteindre l’ampoule quelle que soit la position de l’autre interrupteur. Pour obtenir une telle fonctionnalité,
on doit brancher les deux interrupteurs afin de former un opérateur XOR. C’est le montage dit « va-et-vient ».
Exercice 6 (Demi-addtionneur ou “half-adder”)
Le circuit étudié, appelé demi-additionneur, permet d’additionner
deux bits A et B. Il comporte deux sorties C et S qui représentent
deux expressions booléennes. Le choix de la lettre C vient du fait
qu’en anglais la « retenue » se dit « Carry ».
1. Réaliser le circuit sur Logisim, si disponible sur votre poste.
2. Donner les expressions booléennes de C et S en fonction de A et B.
S = A⊕B et C = A·B
3. Réaliser la table de vérité de C et S.
A B C S
0 0 1 0
0 1 0 0
1 0 0 0
1 1 1 1
Exercice 7
Un multiplexeur (abréviation :MUX) est un circuit
permettant de concentrer sur une même voie de
transmission différents types de liaisons
(informatique, télécopie, téléphonie, télétex) en
sélectionnant une entrée parmi N. Il possédera donc
une sortie et N entrées, ainsi qu’une entrée de
commande de plusieurs bits permettant de choisir
quelle entrée sera sélectionnée. Il sert d’accès aux
réseaux de transmission de données numériques ou analogiques.
On considère le circuit logique ci-contre.
1. Donner l’expression de Out en fonction de E1, E2 et C. ( E 1 ·C ) ∪ (C·E 2)
2. Réaliser le tableau de vérité de ce circuit.
E1 C E2 OUT
0 0 0 0
0 1 0 0
0 0 1 0
0 1 1 1
1 0 0 1
1 1 0 0
1 0 1 1
1 1 1 1
Remarque : Le circuit étudié est appelé multiplexeur à 2 entrées.
Selon la valeur de la commande (C), il permet de reproduire en sortie (Out) :
— le signal E1 si C est à 0.
— le signal E2 si C est à 1.
Exercice 8
On donne la porte logique ci-contre.
1. Donner l’expression booléenne correspondante. ┐ A + B
2. Donner la table de vérité du circuit.
A B ┐ A +B
0 0 0
0 1 0
1 0 0
1 1 1
3. Que remarquez-vous ? Concluez
Ressemble à la table ET (AND). Ainsi ┐ A + B == A·B
Exercice 9 Addition de deux nombres binaires , un exemple …
On va additionner 5 et 7, mais en binaire.
1. Convertir 5 et 7 en binaire. 101 et 111.
2. Poser l'addition (comme on l'aurait avec des nombres décimaux) en notant les retenues.
101+111 = 1100
3. Convertir le résultat en décimal pour vérifier la réponse.
1100 = 12
Généralisation
On vient de constater que pour additionner deux nombres binaires, il faut à chaque étape
additionner 3 bits : le bit du premier nombre, le bit du deuxième nombre et le bit de la retenue.
4. Compléter le tableau suivant donnant toutes les possibilités :
a b c a+b+c
0 0 0
0 0 1
0 1 0
1 0 0
0 1 1
1 0 1
1 1 0
1 1 1
5. En déduire le tableau qui en fonction de a, b et c donne le chiffre des unités de a+b+c.
6. En déduire le tableau qui en fonction de a, b et c donne le chiffre de la retenue de a+b+c
Ces deux tableaux peuvent être interprétés comme des tables de vérité en remplaçant les 1
par VRAI et les 0 par FAUX.
7. Donner la table de vérité de : (a ET b) OU (b ET c) OU (a ET c).
8. Donner la table de vérité de :
(a ET NON b ET NON c) OU (NON a ET b ET NON c) OU (NON a ET NON b ET c) OU ( a ET
b ET c).
9. Conclure.
Algorithme
En supposant que a et b sont des nombres binaires de 10 chiffres.
On va stocker les bits du premier nombre sous forme de VRAI/FAUX dans la liste n, de même pour
le deuxième nombre dans la liste p et du résultat dans la liste r.
Réaliser l’algorithme.
Codage en Python
Ecris le programme de l'addition de 2 nombres binaires puis place-le dans le dossier prévu sur le
réseau.