![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Логические функции часто формируют на основе математических выражений. Математическое выражение, как известно, содержит переменные, константы и функции, соединённые знаками математических операций. Но для создания логической функции обязательно использование операций отношения: <, >, ≤, ≥, =, ≠. Результат любой из этих операций является «истина» или «ложь», которые мы условились обозначать 1 или 0. Таким образом, каждая операция отношения создаёт одно простое высказывание.
Например, выражение X >Y принимает значение 0 или 1 в зависимости от конкретных значений X и Y. Таким образом, можно сформировать логическую функцию f от действительных переменных X и Y, которая будет истинной, если выполняется указанное выше условие. Записывается это так:
f(X, Y) = X > Y.
Другой пример. Сформировать логическую функцию, которая будет истинной, если переменные x и y кратны трём; x, y – переменные целого типа.
Решение. Заметим, что целое число а будет кратно целому числу b, если остаток от целочисленного деления а на b будет равен нулю:
a mod b = 0.
Здесь запись mod означает операцию вычисления остатка при целочисленном делении а на b.
В условии задачи легко выделить два простых высказывания: x кратно трём и y кратно трём. Между этими высказываниями стоит союз «и». Следовательно, это сложное высказывание содержит операцию логического умножения, а математически это высказывание можно записать так:
f(x, y) = (x mod 3 = 0)∙(y mod 3 = 0).
Рассмотрим ещё один пример. Сформировать логическую функцию, которая будет истинной, если сумма a и b – положительна, а величины a или b - отрицательны. a и b – переменные действительного типа.
Решение. В этом примере также можно выделить несколько простых высказываний:
· сумма a и b – положительна;
· величина a - отрицательна;
· величина b - отрицательна.
Первое высказывание с двумя другими связывается союзом «а», что означает между ними операцию логического умножения. Далее, второе и третье простые высказывания соединены союзом «или», что означает между ними операцию логического сложения. Таким образом, мы получаем следующую функцию:
f(a, b) = ((a + b) > 0) ∙ ((a < 0) + (b < 0)).
Скобки в этом выражении изменяют порядок выполнения операций. Это необходимо, так как операции отношения имеют самый низкий приоритет.
Ещё один класс операций отношения связан с координатной плоскостью. Приведём простой пример: сформировать логическую функцию, которая будет истинной, если точка принадлежит заштрихованной области (смотри рис. 1).
Решение. Согласно рисунку, точка должна быть внутри окружности радиуса 1 с одной стороны, а с другой – быть в верхней полуплоскости. Уравнение окружности радиуса 1 имеет вид:
Рис. 1
X2 + Y2 = 1,
где X и Y – координаты точки, принадлежащей окружности. Точка будет внутри этой окружности, если её координаты удовлетворяют условию:
X2 + Y2 ≤ 1.
Чтобы точка была в верхней полуплоскости необходимо выполнение условия Y ≥ 0. Оба эти условия должны выполняться одновременно, что возможно только для операции логического умножения. Таким образом, искомая функция имеет вид:
f (X, Y) = (X2 + Y2 ≤ 1) ∙ (Y ≥ 0).
Дата публикования: 2014-11-28; Прочитано: 341 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!