Top Banner
GEF 243B Programmation informatique appliquée Expressions logiques §5.1
16

GEF 243B Programmation informatique appliquée Expressions logiques §5.1.

Apr 03, 2015

Download

Documents

Fraser Duriez
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: GEF 243B Programmation informatique appliquée Expressions logiques §5.1.

GEF 243BProgrammation informatique

appliquée

Expressions logiques

§5.1

Page 2: GEF 243B Programmation informatique appliquée Expressions logiques §5.1.

4/11/23 2JGA Beaulieu

Revue

• Quelle est la valeur de a, b et c si les valeurs initiales étaient a = 2, b = 4 and c = 8b *= c++;

a += --b;

• Si a est int et initialement a = 7 quelle est la valeur de b si b est float?b = (float) (a/12);

Page 3: GEF 243B Programmation informatique appliquée Expressions logiques §5.1.

4/11/23 3JGA Beaulieu

Synopsis

• Logique• Opérateurs conditionnels

Opérateurs logiquesOpérateurs relationnels

• Expressions logiques• Expressions logiques compléments

Page 4: GEF 243B Programmation informatique appliquée Expressions logiques §5.1.

4/11/23 4JGA Beaulieu

Logique

Les insultes sont efficaces seulement là où les émotions sont présentes. "Who Mourns for Adonais?" stardate 3468.1.

Page 5: GEF 243B Programmation informatique appliquée Expressions logiques §5.1.

4/11/23 5JGA Beaulieu

Logique (logic)

• L’étude de la logique provient d’il y a bien longtemps en Grèce ancienne avec Aristote

• Beaucoup de concepts en mathématique moderne sont dues à l’élaboration des syllogismes (un mot bien bizarre) par Aristote

Touts les humains sont mortel

Les élofs sont humain

Vous allez tous mourir!

Page 6: GEF 243B Programmation informatique appliquée Expressions logiques §5.1.

4/11/23 6JGA Beaulieu

Logique (logical)

• Dans la vie nous posons souvent des questions qui peuvent avoir plusieurs réponses: Quelle est cette couleur?Comment fiable est-ce que c’est?Pourquoi trouvez-vous cela plate?...

• Ces questions sont bonnes pour la consommation par les humains, mais un ordinateur ne comprend que deux choses : on-off0-1vrai-faux

Page 7: GEF 243B Programmation informatique appliquée Expressions logiques §5.1.

4/11/23 7JGA Beaulieu

Logique (logical)

• Un morceau d’information est dit logique si il indique l’idée de vrai ou faux Une expression logique doit se réduire à une

valeur simple de vrai ou faux

• On se souvient que ANSI C99 a le type booltrue est 1 false est 0

• Vous devez avoir en inclusion stdbool.hCependant ceci a été fait pour vous dans le SpiderRobot

Page 8: GEF 243B Programmation informatique appliquée Expressions logiques §5.1.

4/11/23 8JGA Beaulieu

Opérateurs logiques

• En C il y a trois opérateurs logiques.

• Écoutez && apprenez || ! c’est votre choix.! – Opérateur non (pas)&& – Opérateur logique et|| – Opérateur logique ou

• Les opérateurs sont listés en ordre de précédence.

Page 9: GEF 243B Programmation informatique appliquée Expressions logiques §5.1.

4/11/23 9JGA Beaulieu

Logique – Table de vérité de l’opérateur non en C

x !x

false

zéro

true

1

true

non-zéro

false

0

Page 10: GEF 243B Programmation informatique appliquée Expressions logiques §5.1.

4/11/23 10JGA Beaulieu

Logique – Table de vérité de l’opérateur et en C

x y x && y

false

(0)

false

(0)

false

(0)

false

(0)true (non-

zéro)

false

(0)

true (non-zéro)

false

(0)

false

(0)

true (non-zéro)

true (non-zéro)

true

(1)

Page 11: GEF 243B Programmation informatique appliquée Expressions logiques §5.1.

4/11/23 11JGA Beaulieu

Logique – Table de vérité de l’opérateur ou en C

x y x || y

false

(0)

false

(0)

false

(0)

false

(0)true (non-zéro) true

(1)

true (non-zéro) false

(0)

true

(1)

true (non-zéro) true (non-zéro) true

(1)

Page 12: GEF 243B Programmation informatique appliquée Expressions logiques §5.1.

4/11/23 12JGA Beaulieu

Opérateurs relationnels

• Les opérateurs logiques sont la “colle” qui garde les expressions logiques ensembles.

• Les expressions logiques sont crées à partir des relations entre les données

• Par exemple, vous pouvez relier deux entiers ensemble en demandant:Est-ce que les entiers sont égales?Est-ce que un entier est plus grand que l’autre?Est-ce que un entier est le même ou plus petit?

• Il y a six opérateurs relationnels en C

Page 13: GEF 243B Programmation informatique appliquée Expressions logiques §5.1.

4/11/23 13JGA Beaulieu

Opérateurs relationnels

Page 14: GEF 243B Programmation informatique appliquée Expressions logiques §5.1.

4/11/23 14JGA Beaulieu

Opérateurs relationnels

• Les opérateurs relationnels ont des compléments

expression originale expression simplifiée

!(x < y) x >= y

!(x > y) x <= y

!(x != y) x == y

!(x <= y) x > y

!(x >= y) x < y

!(x == y) x != y

Page 15: GEF 243B Programmation informatique appliquée Expressions logiques §5.1.

4/11/23 15JGA Beaulieu

Opérateurs relationnels complément

• Les opérateurs logiques ont aussi leurs compléments : La règle de De MorganSi vous avez une expression du type !(…) et que vous

voulez enlever le non, vous appliquez le! à chaque sous expression et vous prenez le complément

(!x || !y) && z && (!t || u)

!( x && y || !z || t && !u )

Page 16: GEF 243B Programmation informatique appliquée Expressions logiques §5.1.

4/11/23 16JGA Beaulieu

Quiz Time

• Quel est l’équivalent positif de:

!( x || (y >= z) && !t || v )

!( y && !(y != z) || (v > t))