Высказывание - это повествовательное предложение, в котором что-либо утверждается или отрицается.
Логические величины - понятия, выражаемые словами ИСТИНА и ЛОЖЬ (true и false).
Логические константы - ИСТИНА и ЛОЖЬ (true и false, 1 и 0).
Логическая переменная - символически обозначенная логическая величина.
Логическое выражение - простое или сложное высказывание. Сложное высказывание строится из простых при помощи связок (логических операций).
Логические операции
- конъюнкция (логическое умножение) - and, && в C++
- дизъюнкция (логическое сложение) - or, || в C++
- инверсия (логическое отрицание) - not, ! в C++
Операции сравнения в С++
равенство ==
неравенство !=
больше >
меньше <
больше или равно >=
меньше или равно <=
Задача №1. Протестируйте работу следующей программы. Измените логические выражения так, чтобы в результате работы программы на экране появлялось шесть единиц.
#include <iostream> using namespace std; int main() { cout << (7 < 0) << endl; cout << (7 > 0) << endl; cout << (7 == 0) << endl; cout << (7 != 6) << endl; cout << (7 >= 6) << endl; cout << (7 <= 6) << endl; }
Задача №2. Протестируйте работу следующей программы для разных значений логических переменных a и b, заполните таблицу истинности.
#include <iostream> using namespace std; int main() { bool a, b; cin >> a; cin >> b; cout << (a && b) << endl; cout << (a || b) << endl; cout << !a << endl; }
Задача №3. Напишите программу, которая по введённым коэффициентам a, b и с выясняет, имеет ли квадратное уравнение корни.
Задача №4. Напишите программу, которая по координатам X, Y точки на плоскости будет определять, попадает ли точка в область, ограниченную единичной окружностью.
Может пригодиться библиотека:
#include <cmath>
Задача №5. Напишите программу, которая выводит 1 (true), если точка на координатной плоскости с координатами X и Y лежит внутри кольца с центром в начале координат и радиусами R1 и R2.
Задача №6. Вычислите значения следующих логических выражений на С++:
а) K % 7 == K / 5 - 1 при K = 15
б) floor (10*P) при P = 0,135
в) t && (P % 3 == 0) при t = 1, P = 10101
г) (x*y != 0) && (y>x) при x = 2, y = 1
д) a || !b при a = 0, b = 0
Функция floor выполняет округление значения аргумента и возвращает наибольшее целое значение, которое не больше аргумента.
Задача №7. Напишите программу, которая выводит 1 (true), если точка на координатной плоскости с координатами X и Y лежит внутри фигуры, ограниченной двумя прямыми и параболой (y=-x, y=1, y=x² ).
Задача №8. Любая на выбор!