Algèbre booléenne – Exercices

Consignes globales :

  • Les expressions logiques sont à rédiger sur une feuille.
  • Les fonctions Python sont à rédiger sur un même fichier .py.

Problème : Un système de verrouillage de sécurité s’active si :

  1. Une intrusion est détectée.
  2. OU une alarme manuelle est activée.

Définition des capteurs et variables :

  • i : Une intrusion est détecté (1 = intrusion détecté).
  • a : Alarme manuelle activée (1 = alarme active).
  1. Écrire une expression logique pour activer le verrouillage de sécurité.
  2. Créer une fonction Python verrouillage(i, a) qui retourne 0 ou 1.
  3. Simuler différents cas.

Problème : Un système d’irrigation doit s’activer si :

  1. Le capteur d’humidité indique que le sol est sec.
  2. ET il ne pleut pas.
  3. ET il fait jour.

Définition des capteurs et variables :

  • h : Le sol est sec (1 = sol sec).
  • p : Il ne pleut pas (0 = pas de pluie).
  • j : Il fait jour (1 = jour).
  1. Écrire une expression logique qui modélise ce comportement.
  2. Créer une fonction Python irrigation(h, p ,j) qui retourne 1 si l’irrigation doit être activée.
  3. Tester la fonction pour divers scénarios.

Problème : Une alarme doit se déclencher si au moins une des conditions suivantes est remplie :

  1. Une porte est ouverte.
  2. Une fenêtre est brisée.
  3. Un détecteur de mouvement est activé et il fait nuit.

Définition des capteurs et variables :

  • p : La porte est ouverte (1 = porte ouverte).
  • f : Une fenêtre est brisée (1 = fenêtre brisée).
  • m : Un mouvement est détecté (1 = mouvement détecté).
  • n : Il fait nuit (0 = nuit).
  1. Écrire une expression logique qui modélise ce comportement.
  2. Créer une fonction Python alarme(p, f, m, n) qui retourne 1 si l’alarme doit se déclencher, 0 sinon.
  3. Tester la fonction avec différentes combinaisons des capteurs.

Le Faucon Millenium, vaisseau légendaire de la saga Star Wars, est connu pour être le vaisseau le plus rapide de la galaxie grâce à son système Hyperdrive. Construit pour franchir les distances interstellaires en un éclair, l’Hyperdrive du Faucon Millenium nécessite une série de vérifications rigoureuses avant son activation. Si l’une des conditions critiques n’est pas remplie, activer l’Hyperdrive pourrait entraîner des conséquences catastrophiques, comme une désintégration partielle ou une dérive vers un trou noir.

Pour éviter cela, le système d’Hyperdrive repose sur quatre capteurs principaux qui surveillent l’état du vaisseau.

Les capteurs sont les suivants :

  • s : Capteur de stabilité du vaisseau (0 = stabilité OK).
  • c : Capteur de carburant (0 = carburant suffisant).
  • t : Capteur de température du moteur (0 = température normale).
  • h : Capteur de verrouillage hyperspatial (1 = trajectoire verrouillée).

L’Hyperdrive peut être activé (HYPERDRIVE = 1) uniquement si toutes les conditions suivantes sont remplies :

  1. Le vaisseau est stable.
  2. Le carburant est suffisant OU la température est normale.
  3. La trajectoire hyperspatiale est verrouillée.

Votre mission est d’aider Han Solo et Chewbacca à activer l’Hyperdrive. Pour cela, vous devez implémenter un système logique qui vérifie l’état des capteurs avant de permettre l’activation.

  1. Écrire l’expression logique correspondant aux règles ci-dessus.
  2. Créer une fonction Python hyperdrive(s, c, t, h) qui retourne 1 si l’Hyperdrive peut être activé, sinon 0.
  3. Tester la fonction avec différents états des capteurs pour vérifier son fonctionnement.

Dans le jeu Metroid, Samus peut activer un système d’auto-destruction dans des situations critiques pour empêcher l’ennemi de récupérer des données sensibles ou des ressources. Cependant, ce système repose sur plusieurs capteurs intégrés dans son armure et son vaisseau.

Le Système d’Auto-destruction peut être activé (AUTO = 1) si les conditions suivantes sont respectées.


  1. Intégrité de l’armure (i) :
    • Vérifie si l’armure est endommagée.
    • 1 : Armure endommagée.
    • 0 : Armure intacte.
  2. Ennemis détectés (e) :
    • Vérifie si des ennemis sont dans la zone.
    • 1 : Ennemis détectés.
    • 0 : Aucun ennemi détecté.
  3. Surcharge énergétique (s) :
    • Vérifie si une surcharge énergétique est en cours.
    • 1 : Surcharge active.
    • 0 : Pas de surcharge.
  4. Données sensibles (d) :
    • Vérifie si des données sensibles sont présentes dans le vaisseau.
    • 1 : Données présentes.
    • 0 : Aucune donnée.
  5. Commande activée (c) :
    • Vérifie si Samus a donné l’ordre de déclencher la procédure.
    • 1 : Commande activée.
    • 0 : Aucune commande.

Le système d’auto-destruction peut être activé (AUTO = 1) si toutes les conditions suivantes sont remplies :

  1. L’armure est endommagée OU une surcharge énergétique est active.
  2. Des ennemis sont détectés ET des données sensibles sont présentes.
  3. La commande d’auto-destruction est activée.

  1. Écrire l’expression logique correspondant aux règles ci-dessus.
  2. Créer une fonction Python autodestruction(i, e, s, d, c) qui retourne 1 si l’auto-destruction peut être activée, sinon 0.
  3. Tester la fonction avec différents états des capteurs.

Rick a créé un Portail Interdimensionnel qui ne peut être activé que si plusieurs conditions complexes sont remplies. Évidemment, pour éviter les catastrophes intergalactiques, le portail repose sur des capteurs sophistiqués pour vérifier les prérequis.

L’activation dépend des six capteurs suivants :


  1. a : Stabilité de l’énergie du portail.
    • 1 : Stable.
    • 0 : Instable.
  2. b : Présence de parasites interdimensionnels.
    • 1 : Présence détectée.
    • 0 : Aucun parasite détecté.
  3. c : Fonctionnement du vortex.
    • 1 : Dysfonctionnement détecté.
    • 0 : Fonctionnement normal.
  4. d : Activation de l’ancre gravitationnelle.
    • 1 : Active.
    • 0 : Inactive.
  5. e : Présence de coordonnées sûres.
    • 1 : Coordonnées enregistrées.
    • 0 : Coordonnées manquantes.
  6. f : Signal de confirmation de Morty.
    • 1 : Confirmation donnée.
    • 0 : Pas de confirmation.

Le Portail Interdimensionnel peut être activé (PORTAIL = 1) si au moins une des conditions suivantes est remplie :

  1. L’énergie du portail est stable ET aucun parasite n’est détecté.
  2. Le vortex fonctionne normalement ET l’ancre gravitationnelle est activée.
  3. L’énergie est instable, MAIS des coordonnées sûres sont présentes ET Morty confirme l’activation.

  1. Écrire l’expression logique correspondant à l’activation du portail.
  2. Créer une fonction Python activation_portail(a, b, c, d, e, f) qui retourne 1 si le portail peut être activé, sinon 0.
  3. Tester la fonction avec différentes combinaisons d’états des capteurs.