Логические выражения используются не только для решения задач булевой алгебры, но и для ветвления программы в логических и циклических операторах. Причем последний вариант использования логических выражений применяется наиболее часто.
Логические выражения состоят из логических констант, переменных и отношений, соединенных логическими операциями. В простейших случаях в операторах используют отношения: два выражения, соединенных знаком отношения (<, >, >=, <=, =, <>), например I>20. Но иногда возникают условия, требующие использования более сложных логических выражений.
Пример. На плоскости задана фигура (рис.2.1.): усеченный круг. Вводится точка с координатами X,Y. Определить, принадлежит введенная точка фигуре или нет. В результате выводится: "Введенная точка принадлежит фигуре" или "Введенная точка фигуре не принадлежит".
Рис.2.1.
Для определения вхождения точки в круг можно использовать формулу окружности .
Соответственно изменив знак = на < получим условие вхождения точки в круг c координатами центра (3,3) и радиусом 3:
Кроме этого область, занятая треугольником, так же не входит в закрашенную область, то есть полуплоскость над прямой Y= -X+7 фигуре не принадлежит. Условия нахождения точки внутри круга и под прямой должны выполняться одновременно. Для этого необходимо использовать логическую операцию AND.
Таким образом логическое выражение
примет истинное значение, если точка входит в закрашенную область, иначе ложное. Тогда в логическом операторе по прямой ветви Then выводится "Введенная точка принадлежит фигуре", а по ветви Else "Введенная точка фигуре не принадлежит".
Но можно и поменять ветви местами, тогда при вхождении точки в фигуру логическое выражение должно принимать ложное значение. Тривиальный вариант: поставить перед предыдущим выражением знак отрицания NOT. Но более наглядным решением будет составление выражения с условием невхождения точки в фигуру. Здесь должно выполняться хотя бы одно из условий: точка не входит в круг или точка лежит над прямой, соответственно, логическое выражение примет вид:
При выполнении лабораторной работы составить два варианта программы (без использования операции NOT) для фигуры, соответствующей варианту задания.