Previous Page

9.11 Exercices

9.1 [*] Déterminer les valeurs booléennes des expressions suivantes:

a) True AND False
b) True AND NOT False
c) True OR False
d) True AND False OR True
e) (True OR False) AND (True OR NOT True)

9.2 [**] Déterminer les valeurs des variables booléennes A et B de l'ensemble B = {True, False} pour lesquelles les expressions suivantes prennent la valeur True:

a) NOT (A OR B) AND NOT (NOT A OR NOT B),
b) NOT ((NOT A AND B) OR (A AND NOT B)),
c) (NOT (A AND B) AND A) OR (NOT (A AND B) AND B).

9.3 [**] Démontrer, à l'aide d'une table de vérité, les égalités suivantes:

a) A OR B = NOT (NOT A AND NOT B),
b) (A AND B) OR (A AND NOT B) = A,
c) (A OR B) AND (A OR NOT B) = A,
d) A OR (NOT A AND B) = A OR B,
e) (A OR B) AND (NOT A OR C) AND (B OR C)
= (A OR B) AND (NOT A OR C).

9.4 [**] Démontrer les lois de MORGAN à l'aide d'une table de vérité.

9.5 [***] Simplifier à l'aide des axiomes 1 à 8 les expressions suivantes:

a) (A AND B) OR (A AND B),
b) (A OR B) AND (A OR NOT B),
c) (A AND B) OR (B AND C) OR (C AND D) OR (A AND D),
d) [A OR (A AND B)] AND [A OR (B AND C)].

9.6 [*] Déterminer si un nombre donné A est pair ou impair.

9.7 [*] Déterminer si deux nombres entiers A et B sont multiples l'un de l'autre.

9.8 [*] Déterminer le signe de la somme et du produit de deux nombres A et B sans calculer ceux-ci.

9.9 [*] Classer deux nombres A et B par rapport à leur somme et leur produit.

9.10[**] La définition des envois postaux normalisés est déterminée par la réglementation internationale en vigueur. Ainsi, en service international, la longueur d'une enveloppe ordinaire peut varier de 140 à 235 mm et sa largeur de 90 à 120 mm.
a) Rédiger un programme pour la détection de lettres non-normalisées.
b) Tracer l'arbre programmatique correspondant.

9.11 [**] Soit (ABC) un triangle de côtés a, b et c. D'après le théorème de Pythagore, le triangle (ABC) est rectangle en B, si et seulement si l'égalité
a2 + b2 = c2 est vérifiée.

Undisplayed Graphic

a) Connaissant les longueurs des trois côtés, rédiger un programme permettant de déterminer si (ABC) est rectangle et si oui, en quel point.
b) Tracer l'arbre programmatique respectif.

9.12[**] a) Réécrire le texte Turbo-Pascal suivant de manière non-ambigue.
b) Décrire, selon quels cas, laquelle des instructions est exécutée.

IF A>0 THEN IF B>0 THEN B := B + 1 ELSE B := B - 1
ELSE IF B > 0 THEN B := B - 1 ELSE B := B + 1;

9.13 [**] Soit le texte Pascal suivant :

IF A < B THEN IF C < D THEN X := 1
ELSE IF A < C THEN IF B < D THEN X := 2
ELSE X 1 3
ELSE IF A < D THEN IF B < C THEN X := 4
ELSE X := 5
ELSE X := 6
ELSE X := 7

a) Y a-t-il des conditions superflues ou contradictoires?
b) Trouver une formulation plus simple qui a le même effet-net.

9.14[**] On donne la fonction Min( X, Y ) qui a pour valeur le minimum de X et de Y. A l'aide de cette fonction, rédiger un programme qui permet de trier dans l'ordre croissant les trois nombres A, B et C.

Previous Page


© Aflo Informatique , 2003-2004