Adloun

Deux conditions qui n'en font qu'une

Exercice de TD · niveau 2 · sciences numériques et technologie (seconde), chapitre 3 — Instructions conditionnelles · Construire une condition

Énoncé

On considère les deux conditions

A = not (p and q)
B = (not p) or (not q)

p et q sont des booléens.

  1. Dresser la table de vérité de A et B pour les quatre couples possibles.
  2. Écrire un programme qui vérifie l'égalité sur ces quatre cas.
  3. Énoncer la règle obtenue, et donner l'énoncé analogue pour not (p or q).

Corrigé

1.

pqp and qAnot pnot qB
FalseFalseFalseTrueTrueTrueTrue
FalseTrueFalseTrueTrueFalseTrue
TrueFalseFalseTrueFalseTrueTrue
TrueTrueTrueFalseFalseFalseFalse

Les colonnes A et B sont identiques.

2.

for p in [False, True]:
    for q in [False, True]:
        A = not (p and q)
        B = (not p) or (not q)
        print(p, q, A, B, A == B)

La dernière colonne affiche True quatre fois.

3. Règle (loi de De Morgan) : nier un « et » donne le « ou » des négations.

L'énoncé analogue échange les deux connecteurs :

En pratique : « ce n'est pas un nombre pair et positif » ne veut pas dire « il est impair et négatif », mais « il est impair ou négatif ». C'est une source d'erreurs très fréquente.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.