Логические операции. Таблица истинности для С++

Слайд 2

Логическая операция ИЛИ (OR) Обозначение OR: |

Логическая операция ИЛИ (OR) Обозначение OR: |

Слайд 3

Логическая операция исключающее ИЛИ (XOR). Обозначение XOR: ^

Логическая операция исключающее ИЛИ (XOR). Обозначение XOR: ^

Слайд 4

Логическая операция НЕ Обозначение NOT: ~

Логическая операция НЕ Обозначение NOT: ~

Слайд 5

Таблица истинности для С++

Таблица истинности для С++

Слайд 6

Логическая операция в сочетании с логическим выражением

bool res;
int a, b;
// операция &&

Логическая операция в сочетании с логическим выражением bool res; int a, b;
(AND)
a = 8; b = 5;
res = a && b; // True
a = 0;
res = a && b; // False

// операция || (OR)
a = 0;
b = 0;
res = a || b; // False
b = 7;
res = a || b; // True

// операция ! (логическое "НЕТ")
a = 0;
res = !a; // True
a = 15;
res = !a; // False

Слайд 7

XOR (исключающее «ИЛИ»): res = (x || y) && !(x && y)

Логические операции

XOR (исключающее «ИЛИ»): res = (x || y) && !(x && y)
в условных выражениях
cin >> value ;
if (value > 10 && value < 20)
cout << "Your value is between 10 and 20" < else
cout << "Your value is not between 10 and 20" << endl;
Как и с логическим ИЛИ, мы можем комбинировать сразу несколько условий И:
if (value > 10 && value < 20 && value != 16)

Слайд 8

Логические выражения можно преобразовывать в соответствии с законами алгебры логики

Логические выражения можно преобразовывать в соответствии с законами алгебры логики

Слайд 9

Законы рефлексивности
a ∧ a = a
a ∨ a = a
Законы коммутативности
a ∧

Законы рефлексивности a ∧ a = a a ∨ a = a
b = b ∧ a
a ∨ b = b ∨ a
Законы ассоциативности
(a ∧ b) ∧ c = a ∧ (b ∧ c)
(a ∨ b) ∨ c = a ∨ (b ∨ c)

Слайд 10

Законы дистрибутивности
a ∧ (b ∨ c) = (a ∧ b) ∨ (a

Законы дистрибутивности a ∧ (b ∨ c) = (a ∧ b) ∨
∧ c)
a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c)
Закон отрицания отрицания
¬ (¬ a) = a
Законы де Моргана
¬ (a ∧ b) = ¬ a ∨ ¬ b
¬ (a ∨ b) = ¬ a ∧ ¬ b
Законы поглощения
a ∧ (a ∨ b) = a
a ∨ (a ∧ b) = a