Chapitre 1216 minDébutant
Exercices corrigés d'algèbre de Boole type E3
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- savoir où et sous quelle forme la logique tombe à l'E3 ;
- appliquer une méthode de résolution en six points ;
- traiter des sujets complets, de la traduction à l'interprétation.
5 exercices corrigés
Ce chapitre rassemble des exercices de logique et d'algèbre de Boole construits comme ceux de l'épreuve E3 « Mathématiques pour l'informatique » du BTS SIO : une situation professionnelle, des variables booléennes à définir, une expression à écrire, à simplifier par le calcul ou par un tableau de Karnaugh, puis à interpréter. Chaque sujet est corrigé en entier, avec la rédaction attendue sur une copie. Commence par la méthode, puis traite chaque sujet au brouillon avant d'ouvrir le corrigé.
Où la logique tombe à l'E3
L'épreuve E3 (coefficient 3) prend deux formes, fixées par le référentiel :
- en contrôle en cours de formation (CCF), une situation pratique d'algorithmique (sur machine, avec un oral) et une situation écrite de 55 minutes, au second semestre de deuxième année, faite d'un ou deux exercices qui couvrent une partie significative des modules autres que l'algorithmique ;
- en forme ponctuelle, un écrit de 2 heures de deux ou trois exercices, dont un évalue la capacité à programmer.
Le module « algèbres de Boole » (calcul propositionnel, calcul des prédicats, langage ensembliste, calcul booléen) est l'un de ces modules, à côté de l'arithmétique, du calcul matriciel, de la théorie des ensembles et des graphes. Il occupe souvent une partie d'exercice, parfois un exercice entier, et se mêle volontiers aux autres modules (une matrice booléenne en théorie des graphes, un ensemble de clients en théorie des ensembles). La calculatrice est autorisée selon la réglementation en vigueur, en mode examen.
Ce que les sujets demandent
Les questions s'enchaînent presque toujours dans cet ordre :
- Traduire une règle décrite en français par une expression booléenne, après avoir défini ou lu la signification de chaque variable.
- Représenter la fonction : table de vérité ou tableau de Karnaugh.
- Simplifier, souvent avec une contrainte de forme (« sous la forme d'une somme de deux termes »).
- Interpréter le résultat simplifié par une phrase.
- Complémenter avec les lois de De Morgan (« exprimer E̅ sous forme d'une somme de… ») et interpréter le complément.
S'y ajoutent, selon les sujets, des questions de logique des propositions (valeur de vérité, négation, réciproque), de quantificateurs ou d'ensembles, et parfois un QCM.
La méthode en six points
- Lis tout l'exercice avant d'écrire : une question tardive (« en déduire une phrase… ») éclaire souvent la signification des variables.
- Écris l'expression terme à terme, un produit par cas décrit dans l'énoncé, sans simplifier tout de suite.
- Dessine le tableau de Karnaugh proprement : colonnes dans l'ordre 00, 01, 11, 10, en-têtes écrits, regroupements entourés et nommés.
- Justifie chaque simplification : règle citée pour le calcul, regroupements décrits pour Karnaugh (« le groupe des cases … donne … »).
- Vérifie le résultat sur une ou deux cases avant de passer à la suite : une erreur ici se propage aux questions suivantes.
- Rédige la phrase finale avec les mots de l'énoncé, pas avec les lettres : « un client bénéficie de… s'il… ».
Le site propose aussi une proposition de corrigé du sujet d'E3 de la session 2026 (non officielle), dont une partie porte sur un tableau de Karnaugh.
Sujet 1 : les alertes d'une salle serveur
Exercice 1 sur 5 Sujet 1 (Karnaugh, De Morgan, interprétation) Réussi À revoir
Une PME héberge ses serveurs dans une petite salle supervisée. Trois capteurs renvoient chacun une variable booléenne :
- t = 1 si la température dépasse 27 °C, t = 0 sinon ;
- h = 1 si l'humidité est hors de la plage recommandée, h = 0 sinon ;
- e = 1 si les serveurs sont alimentés par l'onduleur (coupure de courant), e = 0 s'ils sont sur le secteur.
Une alerte A est envoyée au technicien d'astreinte dans les cas suivants, et seulement dans ces cas :
-
la température est trop élevée et les serveurs sont sur onduleur ;
-
la température est normale, l'humidité est hors plage et les serveurs sont sur onduleur ;
-
la température est trop élevée, l'humidité est dans la plage et les serveurs sont sur le secteur.
- Écris l'expression booléenne A traduisant ces conditions.
- Représente A dans un tableau de Karnaugh (t en ligne, he en colonne).
- En déduis une expression de A sous la forme d'une somme de deux termes.
- Traduis ce résultat par une phrase.
- À l'aide des propriétés du calcul booléen, écris le complément A̅ sous la forme d'une somme de deux termes. Interprète.
Voir la réponseMasquer la réponse de l'exercice 1
1. Un produit par cas : A = te + t̅he + th̅e̅.
2. te remplit les cases 101 et 111 ; t̅he la case 011 ; th̅e̅ la case 100.
| t \ he | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 |
3. Regroupements :
- le 1 de la case t̅he (ligne 0, colonne 11) ne peut se regrouper qu'avec la case the (ligne 1, colonne 11) : h = 1 et e = 1 dans les deux, t change. Groupe he ;
- le 1 de la case th̅e̅ (ligne 1, colonne 00) se regroupe avec th̅e (ligne 1, colonne 01) : t = 1, h = 0, e change. Groupe th̅ ;
- tous les 1 sont couverts (th̅e par th̅, the par he).
A = th̅ + he.
Vérification sur la case 110 (température élevée, humidité hors plage, secteur) : le tableau donne 0, et th̅ + he = 1 · 0 + 1 · 0 = 0. Juste.
4. Une alerte est envoyée si la température est trop élevée alors que l'humidité est dans la plage, ou si l'humidité est hors plage alors que les serveurs sont sur onduleur.
5. Par De Morgan :
- A̅ = non(th̅ + he) = non(th̅) · non(he) = (t̅ + h)(h̅ + e̅) ;
- en développant : A̅ = t̅h̅ + t̅e̅ + hh̅ + he̅ = t̅h̅ + t̅e̅ + he̅, car hh̅ = 0 ;
- le terme t̅e̅ est redondant : t̅e̅ = t̅e̅(h + h̅) = t̅he̅ + t̅h̅e̅, et t̅he̅ est absorbé par he̅, t̅h̅e̅ par t̅h̅.
A̅ = t̅h̅ + he̅.
Aucune alerte n'est envoyée quand la température et l'humidité sont toutes deux normales, ou quand l'humidité est hors plage mais que les serveurs sont sur le secteur.
On peut vérifier avec le tableau : les 0 de A sont les cases 000, 001, 010 et 110 ; t̅h̅ couvre 000 et 001, he̅ couvre 010 et 110.
Tu avais trouvé ?
Sujet 2 : l'accès aux salles de TP
Exercice 2 sur 5 Sujet 2 (traduction, calcul booléen, ensembles) Réussi À revoir
Partie A. L'accès aux salles de TP d'un lycée est géré par badge. On définit, pour une personne :
- p = 1 si c'est un enseignant ;
- e = 1 si c'est un étudiant inscrit ;
- c = 1 si la personne a signé la charte informatique.
Le règlement dit : « ont accès aux salles les enseignants ; les étudiants inscrits qui ont signé la charte ; les personnes qui ne sont pas des étudiants inscrits et qui ont signé la charte ».
- Écris l'expression booléenne F de l'accès.
- Simplifie F par le calcul, en citant les propriétés utilisées.
- Traduis F simplifiée par une phrase. Le règlement aurait-il pu être écrit plus simplement ?
- Écris F̅ et interprète.
Partie B. Sur les 240 personnes qui ont un badge, 25 sont des enseignants, 170 ont signé la charte, et 20 enseignants ont signé la charte. On note P l'ensemble des enseignants et C celui des signataires de la charte.
- Écris avec P et C l'ensemble des personnes qui ont accès aux salles.
- Combien de personnes ont accès aux salles ? Combien n'y ont pas accès ?
Voir la réponseMasquer la réponse de l'exercice 2
Partie A.
1. F = p + ec + e̅c.
2.
- ec + e̅c = c(e + e̅), en mettant c en facteur ;
- c(e + e̅) = c · 1 = c, par complémentarité puis neutralité de 1 ;
- donc F = p + c.
3. Ont accès aux salles les enseignants et les personnes qui ont signé la charte. Le règlement aurait pu dire simplement « les enseignants et les signataires de la charte » : la condition « étudiant inscrit ou non » ne joue aucun rôle.
4. F̅ = non(p + c) = p̅ c̅ (De Morgan). N'ont pas accès les personnes qui ne sont pas enseignantes et qui n'ont pas signé la charte.
Partie B.
1. F = p + c correspond à la réunion P ∪ C.
2. card(P ∪ C) = card(P) + card(C) − card(P ∩ C) = 25 + 170 − 20 = 175 personnes ont accès. Les autres, 240 − 175 = 65 personnes, forment le complémentaire de P ∪ C, c'est-à-dire P̅ ∩ C̅ (De Morgan) : ni enseignantes, ni signataires.
Tu avais trouvé ?
Sujet 3 : prédicats et ensembles sur un parc de serveurs
Exercice 3 sur 5 Sujet 3 (quantificateurs, négation, ensembles) Réussi À revoir
Le parc d'une entreprise compte cinq serveurs. On note S = {s1, s2, s3, s4, s5}.
| Serveur | Système | Sauvegardé chaque nuit | Supervisé |
|---|---|---|---|
| s1 | Linux | oui | oui |
| s2 | Windows | oui | non |
| s3 | Linux | non | oui |
| s4 | Linux | oui | oui |
| s5 | Windows | oui | oui |
Pour x ∈ S, on note ℓ(x) : « x est sous Linux », b(x) : « x est sauvegardé chaque nuit », v(x) : « x est supervisé ».
- Donne la valeur de vérité de chaque proposition, en justifiant.
- a. ∀x ∈ S, b(x)
- b. ∃x ∈ S, ¬ℓ(x) ∧ ¬v(x)
- c. ∀x ∈ S, ℓ(x) ⇒ v(x)
- Écris la négation de la proposition 1.c en symboles, puis en français.
- On note L, B et V les ensembles de serveurs qui vérifient respectivement ℓ, b et v. Écris en extension L ∩ B, B̅ et L̅ ∪ V̅.
- Combien l'ensemble P(L) des parties de L a-t-il d'éléments ?
Voir la réponseMasquer la réponse de l'exercice 3
1.
- a. Faux : s3 n'est pas sauvegardé, c'est un contre-exemple.
- b. Vrai : s2 est sous Windows (¬ℓ(s2) vraie) et n'est pas supervisé (¬v(s2) vraie).
- c. Vrai : les serveurs sous Linux sont s1, s3 et s4, et tous les trois sont supervisés. Pour s2 et s5, l'hypothèse ℓ(x) est fausse, donc l'implication est vraie.
2. ¬(∀x ∈ S, ℓ(x) ⇒ v(x)) ≡ ∃x ∈ S, ℓ(x) ∧ ¬v(x) : « il existe un serveur sous Linux qui n'est pas supervisé ». Cette négation est fausse, ce qui confirme la réponse 1.c.
3. L = {s1, s3, s4}, B = {s1, s2, s4, s5}, V = {s1, s3, s4, s5}.
- L ∩ B = {s1, s4} (les serveurs Linux sauvegardés) ;
- B̅ = {s3} ;
- L̅ ∪ V̅ = {s2, s5} ∪ {s2} = {s2, s5}. Par De Morgan, c'est le complémentaire de L ∩ V = {s1, s3, s4} : les serveurs qui ne sont pas « Linux et supervisés ».
4. L a 3 éléments, donc P(L) en a 2³ = 8.
Tu avais trouvé ?
Sujet 4 : QCM de logique
Exercice 4 sur 5 Sujet 4 (QCM) Réussi À revoir
Pour chaque question, une seule réponse est exacte.
- La négation de « tous les comptes ont un mot de passe robuste » est :
- a. aucun compte n'a de mot de passe robuste ;
- b. au moins un compte n'a pas de mot de passe robuste ;
- c. au moins un compte a un mot de passe robuste.
- non(a + b̅) est égal à :
- a. a̅ + b ;
- b. a̅ b̅ ;
- c. a̅ b.
- L'expression ab + ab̅ + a̅b se simplifie en :
- a. a + b ;
- b. ab ;
- c. a.
- La contraposée de « si le port 3389 est ouvert, alors le pare-feu est mal configuré » est :
- a. si le pare-feu est mal configuré, alors le port 3389 est ouvert ;
- b. si le port 3389 est fermé, alors le pare-feu est bien configuré ;
- c. si le pare-feu est bien configuré, alors le port 3389 est fermé.
- E est un ensemble à 4 éléments. P(E) contient :
- a. 8 éléments ;
- b. 16 éléments ;
- c. 4 éléments.
- Dans un tableau de Karnaugh à trois variables, l'ordre des colonnes bc est :
- a. 00, 01, 10, 11 ;
- b. 00, 01, 11, 10 ;
- c. 00, 10, 01, 11.
- Pour tous a et b, a + a̅b est égal à :
- a. a + b ;
- b. b ;
- c. a̅ + b.
- L'énoncé ∀n ∈ ℕ, ∃m ∈ ℕ, m < n est :
- a. vrai ;
- b. faux, car il n'y a pas d'entier naturel inférieur à 0 ;
- c. faux, car m doit être le même pour tous les n.
Voir la réponseMasquer la réponse de l'exercice 4
- b. La négation de « pour tout » est « il existe… ne… pas ».
- c. non(a + b̅) = a̅ · (complément de b̅) = a̅ b.
- a. (ab + ab̅) + (ab + a̅b) = a + b, en dupliquant ab.
- c. La contraposée de P ⇒ Q est ¬Q ⇒ ¬P : « si le pare-feu n'est pas mal configuré, le port n'est pas ouvert ». La réponse a est la réciproque, la b est la contraposée de la réciproque.
- b. 2⁴ = 16.
- b. L'ordre du code de Gray : un seul bit change d'une colonne à la suivante.
- a. C'est l'absorption du complément.
- b. Pour n = 0, aucun entier naturel m ne vérifie m < 0 : n = 0 est un contre-exemple.
Tu avais trouvé ?
Sujet 5 : la logique d'un programme
Exercice 5 sur 5 Sujet 5 (algorithmique et calcul booléen) Réussi À revoir
Une application de gestion de parc décide si un poste doit être signalé pour une intervention. Le développeur a écrit :
def signaler(a: bool, b: bool, c: bool) -> bool:
if a:
return b or not c
else:
return b and c
- Montre que la fonction calcule S = a(b + c̅) + a̅bc.
- Développe S, puis simplifie-la à l'aide d'un tableau de Karnaugh (a en ligne, bc en colonne).
- Réécris la fonction en une seule instruction
return, la plus courte possible. - Écris un programme qui vérifie, sur les huit combinaisons, que la fonction de départ et ta version donnent le même résultat.
- Montre que le résultat se lit « si c alors b, sinon a ».
Voir la réponseMasquer la réponse de l'exercice 5
1. Quand a = 1, la fonction renvoie b + c̅ ; quand a = 0, elle renvoie bc. Une fonction qui vaut X quand a = 1 et Y quand a = 0 s'écrit aX + a̅Y, d'où S = a(b + c̅) + a̅bc.
2. S = ab + ac̅ + a̅bc. Les cases : ab donne 110 et 111 ; ac̅ donne 100 et 110 ; a̅bc donne 011.
| a \ bc | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 | 1 |
- Le 1 de a̅bc (ligne 0, colonne 11) se regroupe avec abc : groupe bc ;
- le 1 de ab̅c̅ (ligne 1, colonne 00) se regroupe avec abc̅ (colonne 10), voisine par les bords : groupe ac̅ ;
- tous les 1 sont couverts : le groupe ab (colonnes 11 et 10 de la ligne 1) serait en trop.
S = ac̅ + bc.
3. return (a and not c) or (b and c)
4. Un test exhaustif :
from itertools import product
def signaler_court(a: bool, b: bool, c: bool) -> bool:
return (a and not c) or (b and c)
for a, b, c in product([False, True], repeat=3):
assert signaler(a, b, c) == signaler_court(a, b, c), (a, b, c)
print("Les deux fonctions sont équivalentes")
5. Si c = 1 : S = a · 0 + b · 1 = b. Si c = 0 : S = a · 1 + b · 0 = a. La fonction renvoie donc b quand c est vrai et a sinon, ce que Python écrit b if c else a.
Tu avais trouvé ?