Задание 2. Вычислить значение логической формулы, если логические переменные имеют следующие значения: А – Истина, B – истина, C – Ложь.
A & (B V C) V B
Перейдём к решению. Для начала проставим над каждой операцией номер порядка, в котором она будет исполняться. В первую очередь будут выполняться операции в скобках. А первой будет C. Затем дизъюнкция: B V C. После этого будем выполнять конъюнкцию: A & (B V C). А затем оставшуюся дизъюнкцию: A & (B V C) V B.
Давайте запишем наши вычисления пошагово:
Первое действие – отрицание. Переменная С имеет значение Ложь. Смотрим на таблицу истинности и видим, что при отрицании мы получим значение Истина.
Вторым действием выполняется дизъюнкция. B = Истине, C = Истине. При дизъюнкции двух истин мы получим истину.
Третье действие. Конъюнкция. А = Истине, B V C = Истине. При конъюнкции двух истин мы получим истину.
И четвёртое действие – дизъюнкция. При дизъюнкции двух истин снова получим истину.
Таким образом значение логической формулы равно истине. A & (B V C) V B = ИСТИНА
А сейчас давайте рассмотрим логические выражения в языке Pascal.
Как мы с вами уже знаем, в языке Pascal имеется логический тип данных. К логическим константам относятся True (истина) и False (ложь). Все логические переменные будут описываться при помощи типа boolean. Операции отношения осуществляют сравнение двух операндов и определяют, истинно или ложно соответствующее отношение между ними.
Давайте ещё раз вспомним, какие знаки используются в отношениях: равно, не равно, больше, меньше, больше либо равно, меньше либо равно. В языке программирования они будут выглядеть следующим образом:
Также в программировании логические операции записываются не так, как в алгебре логики. Отрицание – not, конъюнкция (логическое умножение) – and, дизъюнкция (логическое сложение) – or. И ещё одна логическая операция – исключающее ИЛИ – xor.
Давайте рассмотрим таблицу истинности для этих операций, а также заполним столбец для исключающего ИЛИ. В таблице латинская буква T обозначает True, а F – False.
Итак, чтобы заполнить столбец для исключающего ИЛИ, будем брать данные из первого и второго столбцов.
Исключающее ИЛИ – это логическая операция, которая объединяет два высказывания в одно новое, которое будет истинным тогда и только тогда, когда одно из исходных высказываний истинно, а второе – ложно. Исходя из этого мы можем сделать вывод, что во второй и третьей строках значение нового высказывания будет равно истине, так как во второй строке высказывание А – истинно, B – ложно. В третьей строке наоборот, А – ложно, B – истинно. В первой и четвёртой строках будет значение – ложь.
Логическое выражение может состоять из логических констант и переменных, отношений, логических операций. Также оно будет принимать одно из двух значение: True или False.
Давайте запишем выражение на языке Pascal. А начнём с примера, который разбирали выше.
A & (B V C) V B
Он будет выглядеть следующим образом: A and (B or (not C)) or B
В этом примере переменные А, B и C являются переменными типа boolean. Логические операции выполняются в следующем порядке:
1) not;
2) and;
3) or/xor.
Если же нам нужно, чтобы в первую очередь выполнилась операция, которая имеет более низкий приоритет, необходимо заключать её в скобки. Операции отношения имеют самый низкий приоритет, поэтому если операндами логической операции являются отношения, то их нужно заключать в круглые скобки. Например, математическое неравенство: 5 < A ≤ 42.
На языке Pascal будет записано так: (A > 5) and (A <= 42).
Также есть такая логическая функция, как odd (A). Она принимает значение True, если значение целочисленного аргумента А является нечётным, и значение False, если значение аргумента А чётное.
При записи сложного логического выражения (предиката) нужно учитывать приоритеты арифметических, логических операций и операций отношений.
1. Арифметические операции:
1) – (минус унарный);
2) *, /;
3) +, –.
2. Логические операции:
1) not;
2) and;
3) or, xor.
3. Операции отношения: =, <>, >, <, >=, <=.
1. .
2.
Подведение итога урока.
· В чем разница между логическим высказыванием и логическим выражением?
· Какие новые операции вы сегодня узнали? В чем их особенность?
· Сколько строк содержит таблица истинности для одного высказывания? Для двух? Сколько будет содержать для трех, четырех и пяти?
Спасибо за урок. До свидания.
Домашнее задание: Составить таблицы истинности для следующих логических выражений: