Задание 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.

Подведение итога урока.

· В чем разница между логическим высказыванием и логическим выражением?

· Какие новые операции вы сегодня узнали? В чем их особенность?

· Сколько строк содержит таблица истинности для одного высказывания? Для двух? Сколько будет содержать для трех, четырех и пяти?

Спасибо за урок. До свидания.

Домашнее задание: Составить таблицы истинности для следующих логических выражений: