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)
où p et q sont des booléens.
- Dresser la table de vérité de
AetBpour les quatre couples possibles. - Écrire un programme qui vérifie l'égalité sur ces quatre cas.
- Énoncer la règle obtenue, et donner l'énoncé analogue pour
not (p or q).
Corrigé
1.
p | q | p and q | A | not p | not q | B |
|---|---|---|---|---|---|---|
False | False | False | True | True | True | True |
False | True | False | True | True | False | True |
True | False | False | True | False | True | True |
True | True | True | False | False | False | False |
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.