logo
Expression conditionnelle.

Un booléen est un type de donnée à deux états, généralement notés en logique Vrai et Faux (True ,False)

Une expression conditionnelle, on dit aussi booléenne, permet d'écrire, par exemple, une condition portant sur les données d'un programme. On utilise pour cela les opérateurs de la logique booléenne dont les plus utilisés sont le ET, le OU et le NON.

Une expression booléenne est parfaitement définie par sa table de vérité :

Exemple (A ET B) OU (A ET C) a pour table de vérité :

table de vérité Exp1

Exercice

Etablir la table de vérité de l'expression Exp1 = (a ET (NON b)) OU ((NON a) ET b)

A quel opérateur connu cette table correspond-elle ?

>>> Proposition de solution - Proposition de solution - Proposition de solution <<<

Pour résumer, la table de vérité de notre expression est:

Il s'agit de la table de vérité du OU exclusif.


Caractère séquentiel de certains opérateurs.

Les opérateurs ET et OU ont la particularité d'être séquentiels, c'est-à-dire de donner lieu à une évaluation de gauche à droite.

Lorsque l'interpréteur Python évalue une expression booléenne contenant des opérateurs and et or, il le fait de manière fainéante, en court-circuitant parfois l'expression à droite de l'opérateur logique. Ce qui se passe, c'est que parfois, en connaissant la valeur de l'expression à gauche de l'opérateur, peu importe celle de l'expression de droite, le résultat final peut déjà être connu. On parle aussi d'évaluation paresseuse des expressions logiques.

Exemple dans une recherche séquentielle, on aura un :

while i<n and t[i] != x:
    i = i + 1

Ici le programmeur utilise sa connaissance de l'évaluation de l'opérateur ET. Il sait que dans le cas où i<n est False, l'interpréteur n'essaie pas d'évaluer l'expression t[i] != x

Représentation du Vrai et du Faux.

Python comme beaucoup de langage permet d'utiliser différents pour représenter une valeur booléenne. Toute valeur est alors considérée comme True sauf quelques valeurs particulières :

Ressources :

  1. logique Université Lille.