Выполнение логических операций

Слайд 2

Логические операторы

Логические операторы

Слайд 3

Операторы ==, !=, >, =, x == 5; x == 10;

Операторы ==, !=, >, <, >=, <=, &&, || являются операторами

сравнения. Оператор равенства используется для проверки двух значений. Например, следующее выражение истинно, если значением x является 5, и ложно во всех других случаях:
x == 5;

x == 10;

x = 10;

Оператор равенства

Оператор присваивания

Распространенная ошибка, которую компилятор не посчитает за ошибку и не укажет на нее.

Слайд 4

Операторы && (И) и || (ИЛИ) обычно сочетаются с другими логическими

Операторы && (И) и || (ИЛИ) обычно сочетаются с другими логическими

операторами.

(x < y) && (y < z)
// истинно, если y больше x и меньше z

(x < y) || (y < z)
// истинно, если y больше x или меньше z

Слайд 5

Операторы сравнения достаточно взаимозаменяемы. Например: x эквивалентно (x x == y

Операторы сравнения достаточно взаимозаменяемы. Например:

x <= y
эквивалентно
(x < y)

|| (x == y)

x == y
эквивалентно
!(x > y) && !(x < y)

В выражении (x > y) && (a < b) С++ вычисляет первым условие (x > y). В случае если оно ложно (для оператора &&) или истинно (для оператора ||), выражение (a < b) не вычисляется и не анализируется.

Слайд 6

Хранение логических значений Результат логической операции может быть присвоен переменной типа

Хранение логических значений

Результат логической операции может быть присвоен переменной типа bool:
int

n1 = 1;
int n2 = 2;
bool b;
b = (n1 == n2);
“Сравни содержимое переменных n1 и n2 и сохрани результат сравнения в переменной b”.
По правилу приоритетов операций выражение
b = (n1 == n2); эквивалентно выражению b = n1 == n2;
Слайд 7

Инструкция cout.setf (cout.boolalfa); обеспечивает вывод логического значения в виде строки “true”

Инструкция cout.setf (cout.boolalfa); обеспечивает вывод логического значения в виде строки “true”

или “false”, а не в виде 1 или 0, как принято по умолчанию.

BoolTest

Программа запрашивает у пользователя два числовых значения и возвращает результат их сравнения. Пример работы программы:
Введите значение 1: 5
Введите значение 2: 5
Значение 5 == 5 равно true
Press any key to continue...

Слайд 8

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

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

 

Слайд 9

Логические операции с вещественными переменными float a = 10.0; float b

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

float a = 10.0;
float b = 100

% 30;
a == b; // Истинно ли это выражение?
Математически b = 10
но 100.0 : 30.0 = 3,333333 (или 3.33347)
float b = 100.0 % 30.0 = ?
Более безопасное сравнение:
float a = 10;
float b = a / 3;
float c = b * 3.0;
(a – c) < 0.0001 && (c – a) < 0.0001;
Истинно в случае, если разница между a и b меньше 0,00001.