Les expressions booléennes
Il existe trois opérateurs booléens élémentaires issues des portes logiques des composants électroniques. L’opérateur ET renvoi vrai si l’expression de gauche et que l’expression de droite sont également vraie. L’opérateur OU renvoi vrai si l’une des deux expressions de gauche ou de droite est vraie. Le dernier opérateur élémentaire est PAS, ce dernier renvoi vrai si l’expression est fausse et inversement. Ces expressions peuvent être rassemblées sous la forme de table de vérité. Ces tables permettent d’afficher toutes les possibilités d’une expression booléenne. Cette forme est particulièrement utile lorsque l’on souhaite évaluer le fonctionnement d’expressions plus complexe. Il est par ailleurs possible d’utiliser des parenthèses pour forcer éventuellement les priorités dans l’évaluation de l’expression.

| A | B | A ET B |
|---|---|---|
| Vrai | Vrai | Vrai |
| Vrai | Faux | Faux |
| Faux | Vrai | Faux |
| Faux | Faux | Faux |

| A | B | A OU B |
|---|---|---|
| Vrai | Vrai | Vrai |
| Vrai | Faux | Vrai |
| Faux | Vrai | Vrai |
| Faux | Faux | Faux |

| A | NON A |
|---|---|
| Vrai | Faux |
| Faux | Vrai |
Certains problèmes exigent parfois de formuler des conditions qui ne peuvent pas être exprimées sous la forme d’une simple condition. C’est par exemple le cas dans la phrase « âge est inclus entre 18 et 21 ». En fait, cette phrase cache non une, mais deux conditions. Elle revient à dire que « âge est supérieur à 18 et âge est inférieur à 21 ». Il y a donc bien là deux conditions, reliées par ce qu’on appelle un opérateur logique, le mot ET.
DÉBUT
VARIABLE age: ENTIER
LIRE "Quel âge avez-vous ?", age
SI age < 18
ÉCRIRE "Vous ne pouvez pas aller au casino"
SINON SI age >= 18 ET age < 21
ÉCRIRE "Vous êtes majeur, mais vous ne pouvez pas aller au casino"
SINON
ÉCRIRE "Vous pouvez aller au casino"
FIN SI
FIN

| A | B | C | A ET B | (A ET B) ET C |
|---|---|---|---|---|
| Vrai | Vrai | Vrai | Vrai | Vrai |
| Vrai | Vrai | Faux | Vrai | Faux |
| Vrai | Faux | Vrai | Faux | Faux |
| Vrai | Faux | Faux | Faux | Faux |
| Faux | Vrai | Vrai | Faux | Faux |
| Faux | Vrai | Faux | Faux | Faux |
| Faux | Faux | Vrai | Faux | Faux |
| Faux | Faux | Faux | Faux | Faux |
DÉBUT
VARIABLE été, beauTemps, bièreAuFrais: BOOLEEN
LIRE "Sommes-nous en été?", été
LIRE "Est-ce qu'il fait beau?", beauTemps
LIRE "Avez-vous de la bière au frigo?", bièreAuFrais
SI été ET beauTemps ET bièreAuFrais
ÉCRIRE "C'est l'heure du barbecue!"
SINON
ÉCRIRE "Pas de barbecue aujourd'hui."
FIN SI
FIN
Les lois de Morgan
Les lois de Morgan sont très présentes en logique propositionnelle, elles permettent de permuter les opérations ET et OU. Ces lois réduisent le nombre de portes logiques utilisées, et peut aider aussi à la simplification d’écritures et de lectures des algorithmes. L’omniprésence et l’application généralisée de cette propriété a créé de nouvelles portes logiques permettant la simplification des composants électroniques eux-mêmes.
(PAS A) OU (PAS B) = PAS (A ET B)(PAS A) ET (PAS B) = PAS (A OU B)


| A | B | N-AND |
|---|---|---|
| Vrai | Vrai | Faux |
| Vrai | Faux | Vrai |
| Faux | Vrai | Vrai |
| Faux | Faux | Vrai |
En algorithmique, ces lois permettent principalement de transposer l’écriture d’une manière qui nous est plus naturelle. Par exemple, dans le cas de la négation de l’opérateur ET. Je peux conduire si j’ai les clés de la voiture ET si j’ai mon permis. Donc, je ne peux pas conduire si je n’ai pas les clés OU si je n’ai pas mon permis.
DÉBUT
VARIABLE clé, permis, alcool: BOOLEEN
LIRE "Avez-vous les clés de la voiture?", clé
LIRE "Avez-vous le permis de conduire?", permis
LIRE "Avez-vous bu de l'alcool?", alcool
SI (pas clé) OU (pas permis) OU alcool
ÉCRIRE "Vous ne pouvez pas conduire la voiture"
SINON
ÉCRIRE "Vous pouvez conduire voiture"
FIN SI
FIN
DÉBUT
VARIABLE clé, permis, alcool: BOOLEEN
LIRE "Avez-vous les clés de la voiture?", clé
LIRE "Avez-vous le permis de conduire?", permis
LIRE "Avez-vous bu de l'alcool?", alcool
SI pas (clé ET permis) OU alcool
ÉCRIRE "Vous ne pouvez pas conduire la voiture"
SINON
ÉCRIRE "Vous pouvez conduire voiture"
FIN SI
FIN
Continuons avec la négation du OU : la pelouse est mouillée quand il pleut OU que l’on arrose. En conséquence, la pelouse est sèche s’il ne pleut pas ET si on ne l’arrose pas.


| A | B | N-OR |
|---|---|---|
| Vrai | Vrai | Faux |
| Vrai | Faux | Faux |
| Faux | Vrai | Faux |
| Faux | Faux | Vrai |
DÉBUT
VARIABLE pluie, arrosage: BOOLEEN
LIRE "Est-ce qu'il pleut?", pluie
LIRE "Avez-vous arrosé le jardin?", arrosage
SI (pas pluie) ET (pas arrosé)
ÉCRIRE "La pelouse est sèche"
SINON
ÉCRIRE "La pelouse est mouillée"
FIN SI
FIN
DÉBUT
VARIABLE pluie, arrosage: BOOLEEN
LIRE "Est-ce qu'il pleut?", pluie
LIRE "Avez-vous arrosé le jardin?", arrosage
SI pas (pluie OU arrosé)
ÉCRIRE "La pelouse est sèche"
SINON
ÉCRIRE "La pelouse est mouillée"
FIN SI
FIN
Les portes logiques avancées
Au sein d’un processeur, il existe de nombreuses autres portes logiques avancées. Ces autres portes sont très rarement utilisées par les développeurs, et sont de ce fait très peu présent dans les différents algorithmes. En revanche, ces portes sont particulièrement utiles pour l’automatisation d’opérations mathématiques. Ces portes supplémentaires permettent ainsi la simplification des schémas électronique servant à l’architecture même du processeur et de sa gravure. Par exemple, un circuit logique permettant de réaliser une addition (appelée additionneur), utilise un XOR.


| A | B | X-OR |
|---|---|---|
| Vrai | Vrai | Faux |
| Vrai | Faux | Vrai |
| Faux | Vrai | Vrai |
| Faux | Faux | Faux |
