Лабораторная работа по информатике и ИКТ

  • docx
  • 29.05.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала ЛАБОРАТОРНАЯ РАБОТА АЛГЕБРА ЛОГИКИ.docx

ЛАБОРАТОРНАЯ РАБОТА АЛГЕБРА ЛОГИКИ

 

Время выполнения – 4 часа.

 

Цель работы

 

Изучить основы алгебры логики.

 

Задачи лабораторной работы

 

В   результате прохождения занятия студент должен:

1)  знать:

–  определения основных понятий (простое и сложное высказывания,

логические операции, логические выражения, логическая функция);

–  порядок выполнения логических операций;

–  алгоритм построения таблиц истинности;

–  схемы базовых логических элементов;

–  законы логики и правила преобразования логических выражений;

2)  уметь:

–  применять загоны логики для упрощения логических выражений;

–  строить таблицы истинности;

–  строить логические схемы сложных выражений.

 

Общие теоретические сведения

 

Основные понятия алгебры логики

 

Логической  основой  компьютера  является  алгебра  логики,  которая

рассматривает логические операции над высказываниями.

Алгебра логики – это раздел математики, изучающий высказывания, рассматриваемые со стороны их логических значений (истинности или ложности) и логических операций над ними.

Логическое высказывание – это любое повествовательное предложение,

 

в  отношении которого можно однозначно сказать, истинно оно или ложно. Пример: «3 – простое число» является высказыванием, поскольку оно

 

истинно.

Не всякое предложение является логическим высказыванием.

Пример: предложение «Давайте пойдем в кино» не является высказыванием. Вопросительные и побудительные предложения высказываниями не являются.

Высказывательная форма – это повествовательное предложение, которое прямо или косвенно содержит хотя бы одну переменную и становится высказыванием, когда все переменные замещаются своими значениями.

Пример: «x+2>5» - высказывательная форма, которая при x>3 является истинной, иначе ложной.

 

Алгебра логики рассматривает любое высказывание только с одной точки зрения – является ли оно истинным или ложным. Слова и словосочетания «не»,

 

25


«и», «или», «если..., то», «тогда и только тогда» и другие позволяют из уже заданных высказываний строить новые высказывания. Такие слова и словосочетания называются логическими связками.

 

Высказывания, образованные из других высказываний с помощью логических связок, называются составными (сложными). Высказывания, которые не являются составными, называются элементарными (простыми).

Пример: высказывание «Число 6 делится на 2» - простое высказывание. Высказывание «Число 6 делится на 2, и число 6 делится на 3» - составное высказывание, образованное из двух простых с помощью логической связки «и».

 

Истинность или ложность составных высказываний зависит от истинности или ложности элементарных высказываний, из которых они состоят.

Чтобы обращаться к логическим высказываниям, им назначают имена. Пример: Обозначим через А простое высказывание «число 6 делится на 2»,

 

а      через В простое высказывание «число 6 делится на 3». Тогда составное высказывание «Число 6 делится на 2, и число 6 делится на 3» можно записать как «А и В». Здесь «и» – логическая связка, А, В – логические переменные, которые могут принимать только два значения – «истина» или «ложь», обозначаемые, соответственно, «1» и «0».

Каждая логическая связка рассматривается как операция над логическими высказываниями и имеет свое название и обозначение (табл. 1).

Таблица 1. Основные логические операции

 

Обозначение

Читается

Название операции

Альтернативные

 

операции

обозначения

 

 

 

 

¬

НЕ

Отрицание (инверсия)

Черта сверху

 

∧

И

Конъюнкция (логическое

· &

 

умножение)

 

 

 

 

 

∨

ИЛИ

Дизъюнкция (логическое

+

 

сложение)

 

 

 

 

 

→

Если … то

Импликация

⊃

 

 

Тогда и

 

 

 

↔

только

Эквиваленция

~

 

 

тогда

 

 

 

XOR

Либо

Исключающее ИЛИ

⊕

 

…либо

(сложение по модулю 2)

 

 

 

 

 

НЕ Операция, выражаемая словом «не», называется отрицанием и обозначается чертой над высказыванием (или знаком ¬). Высказывание ¬А истинно, когда A ложно, и ложно, когда A истинно.

 

Пример. Пусть А=«Сегодня пасмурно», тогда ¬А=«Сегодня не пасмурно».

 

И      Операция, выражаемая связкой «и», называется конъюнкцией (лат. conjunctio – соединение) или логическим умножением и обозначается точкой

«   · » (может также обозначаться знаками ∧ или &). Высказывание А · В истинно тогда и только тогда, когда оба высказывания А и В истинны.

 

26


Пример. Высказывание «Число 6 делится на 2, и число 6 делится на 3» - истинно, а высказывание «Число 6 делится на 2, и число 6 больше 10» - ложно.

ИЛИ Операция, выражаемая связкой «или» (в неисключающем смысле этого слова), называется дизъюнкцией (лат. disjunctio – разделение) или логическим сложением и обозначается знаком ∨ (или плюсом). Высказывание А∨В ложно тогда и только тогда, когда оба высказывания А и В ложны.

 

Пример. Высказывание «Число 6 делится на 2 или число 6 больше 10» - истинно, а высказывание «Число 6 делится на 5 или число 6 больше 10» - ложно.

ЕСЛИ … ТО Операция, выражаемая связками «если …, то», «из … следует», «... влечет …», называется импликацией ( лат. implico – тесно связаны) и обозначается знаком → . Высказывание А→В ложно тогда и только тогда, когда А истинно, а В ложно.

 

Пример. Высказывание «если студент сдал все экзамены на «отлично», то он получит стипендию». Очевидно, эту импликацию следует признать ложной лишь в том случае, когда студент сдал на «отлично» все экзамены, но стипендии не получил. В остальных случаях, когда не все экзамены сданы на «отлично» и стипендия получена (например, в силу того, что студент проживает в малообеспеченной семье) либо когда экзамены вообще не сданы и о стипендии не может быть и речи, импликацию можно признать истинной.

 

РАВНОСИЛЬНО Операция, выражаемая связками «тогда и только тогда», «необходимо и достаточно», «... равносильно …», называется эквиваленцией или двойной импликацией и обозначается знаком ↔ или ~ . Высказывание А↔В истинно тогда и только тогда, когда значения А и В совпадают.

Пример. Высказывание «Число является четным тогда и только тогда, когда оно делится без остатка на 2» является истинным, а высказывание «Число является нечетным тогда и только тогда, когда оно делится без остатка на 2» - ложно.

 

ЛИБО … ЛИБО Операция, выражаемая связками «Либо … либо», называется исключающее ИЛИ или сложением по модулю 2 и обозначается XOR или ⊕. Высказывание А⊕В истинно тогда и только тогда, когда значения А и В не совпадают.

 

Пример . Высказывание «Число 6 либо нечетно либо делится без остатка на 2» является истинным, а высказывание «Либо число 6 четно либо число 6 делится на3» – ложно, так как истинны оба высказывания входящие в него.

Замечание. Импликацию можно выразить через дизъюнкцию и отрицание:

A→B=¬A∨B.

Эквиваленцию можно выразить через отрицание, дизъюнкцию и конъюнкцию:

 

A ↔ B=(¬A∨ B)∧(¬B∨ A).

 

Исключающее ИЛИ можно выразить через отрицание, дизъюнкцию и конъюнкцию:

A XOR B=(¬A∧ B)∨(¬B&A)

 

 

 

27


Вывод. Операций отрицания, дизъюнкции и конъюнкции достаточно, чтобы описывать и обрабатывать логические высказывания.

 

Порядок выполнения логических операций задается круглыми скобками. Но для уменьшения числа скобок договорились считать, что сначала выполняется операция отрицания («не»), затем конъюнкция («и»), после конъюнкции – дизъюнкция («или») и исключающего или и в последнюю очередь – импликация и эквиваленция.

 

С      помощью логических переменных и символов логических операций любое высказывание можно формализовать, то есть заменить логической формулой (логическим выражением).

Логическая формула - это символическая запись высказывания, состоящая из логических величин (констант или переменных), объединенных логическими операциями (связками).

Логическая функция - это функция логических переменных, которая может принимать только два значения: 0 или 1. В свою очередь, сама логическая переменная (аргумент логической функции) тоже может принимать только два значения: 0 или 1.

 

Пример. F( A, B ) = A & B ∨ A – логическая функция двух переменных A и B.

 

Значения логической функции для разных сочетаний значений входных переменных – или, как это иначе называют, наборов входных переменных – обычно задаются специальной таблицей. Такая таблица называется таблицей истинности.

 

Приведем таблицу истинности основных логических операций (табл. 2) Таблица 2.

A

B

¬A

A & B

A ∨ B

A → B

A ↔ B

AXOR B

1

1

0

1

1

1

1

0

1

0

0

0

1

0

0

1

0

1

1

0

1

1

0

1

0

0

1

0

0

1

1

0

 

Опираясь на данные таблицы истинности основных логических операций можно составлять таблицы истинности для более сложных формул.

 

Алгоритм построения таблиц истинности для сложных выражений:

1.       Определить количество строк:

–  количество строк = 2n + строка для заголовка,

–  n - количество простых высказываний.

2.       Определить количество столбцов:

 

количество столбцов = количество переменных + количество логических операций;

 

–  определить количество переменных (простых выражений);

– определить количество логических операций и последовательность их выполнения.

 

 

28


3.       Заполнить столбцы результатами выполнения логических операций в обозначенной последовательности с учетом таблиц истинности основных логических операций.

 

Пример 1. Составить таблицу истинности для формулы И–НЕ, которую можно записать так: ¬( A & B ) .

 

1.       Определить количество строк:

 

На входе два простых высказывания: А и В, поэтому n=2 и количество строк =22+1=5.

 

2.       Определить количество столбцов:

 

Выражение состоит из двух простых выражений (A и B) и двух логических операций (1 инверсия, 1 конъюнкция), т.е. количество столбцов таблицы истинности = 4.

3.       Заполнить столбцы с учетом таблиц истинности логических операций

(табл. 3).

 

Таблица 3. Таблица истинности для логической операции ¬( A & B )

 

A

B

A & B

¬(A&B)

1

1

1

0

1

0

0

1

0

1

0

1

0

0

0

1

Подобным образом можно составить таблицу истинности для формулы ИЛИ–НЕ, которую можно записать так: ¬(A ∨ B) .

 

Таблица 4. Таблица истинности для логической операции ¬(A ∨ B)

 

A

B

A ∨ B

¬(A ∨ B)

1

1

1

0

1

0

1

0

0

1

1

0

0

0

0

1

 

Примечание: И–НЕ называют также «штрих Шеффера» (обозначают | ) или «антиконъюнкция»; ИЛИ–НЕ называют также «стрелка Пирса» (обозначают ↓) или «антидизъюнкция».

 

Пример 2. Составить таблицу истинности логического выражения C=¬A&B∨A&¬B.

 

Решение:

1.       Определить количество строк:

На входе два простых высказывания: А и В, поэтому n=2 и количество строк=22+1= 5.

2.       Определить количество столбцов:

Выражение состоит из двух простых выражений (A и B) и пяти логических операций (2 инверсии, 2 конъюнкции, 1 дизъюнкция), т.е. количество столбцов таблицы истинности = 7.

Сначала выполняются операции инверсии, затем конъюнкции, в последнюю очередь операция дизъюнкции.

 

29


3.       Заполнить столбцы с учетом таблиц истинности логических операций

 

(табл. 5).

Таблица 5. Таблица истинности для логической операции C = ¬A & B ∨ A & ¬B

 

A

B

¬A

¬B

¬A&B

A &¬B

C

1

1

0

0

0

0

0

1

0

0

1

0

1

1

0

1

1

0

1

0

1

0

0

1

1

0

0

0

 

Логические формулы можно также представлять с помощью языка логических схем.

 

Существует три базовых логических элемента, которые реализуют три основные логические операции:

логический элемент «И» – логическое умножение – конъюнктор; логический элемент «ИЛИ» – логическое сложение – дизъюнктор; логический элемент «НЕ» – инверсию – инвертор.

 

конъюнктор

дизъюнктор

инвертор

A & B

A ∨ B

¬

 

 

A

 

 

 

 

 

 

 

Поскольку любая логическая операция может быть представлена в виде комбинации трех основных, любые устройства компьютера, производящие обработку или хранение информации, могут быть собраны из базовых логических элементов, как из “кирпичиков”.

 

Логические элементы компьютера оперируют с сигналами, представляющими собой электрические импульсы. Есть импульс – логический смысл сигнала – 1, нет импульса – 0. На входы логического элемента поступают сигналы-значения аргументов, на выходе появляется сигнал-значение функции.

 

Преобразование сигнала логическим элементом задается таблицей состояний, которая фактически является таблицей истинности, соответствующей логической функции, только представлена в форме логических схем. В такой форме удобно изображать цепочки логических операций и производить их вычисления.

Алгоритм построения логических схем.

1.       Определить число логических переменных.

2.       Определить количество логических операций и их порядок.

3.       Изобразить для каждой логической операции соответствующий ей логический элемент.

 

 

30


4.        Соединить логические элементы в порядке выполнения логических операций.

 

Пример. По заданной логической функции F( A, B ) = ¬A & B ∨ A & ¬B построить логическую схему.

 

Решение.

1.       Число логических переменных = 2 (A и B).

2.        Количество операций = 5 (2 инверсии, 2 конъюнкции, 1 дизъюнкция). Сначала выполняются операции инверсии, затем конъюнкции, в последнюю очередь операция дизъюнкции.

3.       Схема будет содержать 2 инвертора, 2 конъюнктора и 1 дизъюнктор.

4.        Построение надо начинать с логической операции, которая должна выполняться последней. В данном случае такой операцией является логическое сложение, следовательно, на выходе должен быть дизъюнктор. На него сигналы подаются с двух конъюнкторов, на которые, в свою очередь, подаются один входной сигнал нормальный и один инвертированный (с инверторов).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Логические законы и правила преобразования логических выражений Если две формулы А и В одновременно, то есть при одинаковых наборах значений входящих в них переменных, принимают одинаковые значения, то они

 

называются равносильными.

В         алгебре логики имеется ряд законов, позволяющих производить равносильные преобразования логических выражений.

 

1)      Закон двойного отрицания:

 

A = ¬(¬A);

 

2)      Переместительный (коммутативный) закон:

 

–  для логического сложения: A ∨ B = B ∨ A ;

–  для логического умножения: A ∧ B = B ∧ A ;

3)      Сочетательный (ассоциативный) закон:

 

–  для логического сложения: (A ∨ B) ∨ C = A ∨ (B ∨ C) ;

 

–  для логического умножения: (A ∧ B) ∧ C = A ∧ (B ∧ C) ;

 

4)      Распределительный (дистрибутивный) закон:

 

–  для логического сложения: (A ∨ B) ∧ C = ( A & C ) ∨ ( B & C ) ;

 

31


–  для логического умножения: (A ∧ B) ∨ C = (A ∨ C) ∧ (B ∨ C) ;

 

5)      Законы де Моргана:

 

–  для логического сложения: ¬(A ∨ B) = ¬A & ¬B ;

 

–  для логического умножения: ¬(A ∧ B) = ¬A ∨ ¬B ;

 

6)      Закон идемпотентности:

 

–  для логического сложения: A ∨ A = A ;

–  для логического умножения: A ∧ A = A ;

7)  Законы исключения констант:

–  для логического сложения: A ∨1= 1, A ∨ 0 = A ;

–  для логического умножения: A ∧ 1= A , A ∧ 0 = 0 ;

8)  Закон противоречия:

 

9)      Закон исключения третьего:

 

10)  Закон поглощения:

 

–  для логического сложения: A ∨ (A ∧ B) = A ;

 

–  для логического умножения: A ∧ (A ∨ B) = A ;

 

11) Правило исключения импликации:

 

12)  Правило исключения эквиваленции:

 

A↔ B=(A→ B)∧(B→ A).

 

Справедливость этих законов можно доказать составив таблицу истинности выражений в правой и левой части и сравнив соответствующие значения.

Основываясь на законах, можно выполнять упрощение сложных логических выражений. Такой процесс замены сложной логической функции более простой, но равносильной ей, называется минимизацией функции.

 

Пример: Упростить логическое выражение ¬(A ∨ B) ∧ ( A & ¬B) .

 

Решение:

 

Согласно закону де Моргана:

 

¬(A∨ B)∧(A &¬B)∨ A=¬A &¬B&(A &¬B)∨ A.

 

Согласно сочетательному закону:

 

¬A &¬B&(A &¬B)∨ A=¬A &A &¬B&¬B ∨ A.

 

Согласно закону противоречия и закону идемпотентности:

 

¬A&A&¬B&¬B∨ A=0∧¬B&¬B=0&¬B∨ A.

Согласно закону исключения 0:

 

0&¬B=0

 

Окончательно получаем ¬(A ∨ B) ∧ ( A & ¬B) ∨ A = 0 ∨ A = A

 

С       дополнительным теоретическим материалом можно ознакомиться в литературе [2, 7].

 

 

 

 

 

 

32


Задания

 

1.       Составить таблицу истинности логического выражения C.

 

Варианты задания:

 

№ варианта

C

1

(¬(A&B))↔ (A∨¬B)XOR A

2

(A&B)↔ (¬A&B)XOR B

3

(A&B)↔ (¬B→¬A)XOR A

4

¬(A ∨ B) ↔ (¬A & ¬B) XOR B

5

(A∨ B) ↔ ¬(A&¬B) XOR B

6

¬(A&B)↔ (¬A∨ B)XOR A

7

¬(A → B) ↔ (¬A∨ B) XOR A

8

(¬A&B)↔ (¬B→ A)XOR B

9

(A∨¬B)↔ ¬(B&A)XOR A

10

(¬B&A)↔ (A→¬B)XORB

11

(¬A∨¬B)↔ (¬B&A) XOR A

12

(¬B →¬A)↔ (A∨ B) XOR B

13

¬(B∨ A)↔ (¬A→ B)XOR A

14

(¬(A&B))↔ (¬A→ B)XOR B

15

(¬A→¬B)↔ (B&A)XOR B

16

(¬A ∨ ¬B) ↔ (B ∨ ¬A) XOR A

 

2.       Построить логическую схему функции F(A,B).

 

Варианты задания:

 

№ варианта

F(A,B)

1

¬(A&B)∨(¬(B∨ A))

2

¬(A∨ B)∧(A &¬B)

3

¬(A∨ B)∧(A∨¬B)

4

¬((¬A ∨ B) ∧ (¬B ∨ A))

5

(¬A ∨ B) ∧ (¬B ∨ ¬A)

6

(¬A ∨ B) ∧ ¬(A ∨ ¬B)

7

¬(¬A & ¬B) ∨ (A ∨ B)

8

(¬A∨ B)∨¬(A&B)

9

(A&B)∨((A∨ B)∧¬A)

10

¬((¬A∨ B)& A)∧¬B

11

¬(A ∨ ¬B) ∨ ¬(A ∨ B)

12

¬A &¬B ∨¬(A∨ B)

13

¬A∨ B∨¬(¬B∨ A)

14

(¬A &¬B)∨(¬A & B)

15

(¬A&B)∨(A&¬B)

16

¬(A &(B ∨ A)∧¬B)

 

33


3.        Упростить логическое выражение D. Варианты задания:

№ варианта

D

1

(¬A&B)∨(A&¬B)∨(A&B)

2

(¬A &¬B)∨(¬A &B)∨(A &B)

3

¬(A&B)∨(¬(B∨C))

4

¬(¬A &C)∨(B&¬C)

5

¬A∨ B∨¬(¬B∨ A)∨A&B

6

¬A&B∨¬(A∨ B)∨ A

7

¬(A∨¬B)∨¬(A∨ B)∨ A & B

8

(A&B)∨((A∨ B)∧(¬A∨¬B))

9

¬((¬A∨ B)& A )∧(¬A∨¬B)

10

(¬A∨ B)∨(B∨C)∨(A&C)

11

¬(¬A &¬B)∨((¬A∨ B)& A )

12

(¬A∨ B)∧(A∨¬B)∧(B ∨ A)

13

(¬A∨ B)∧(¬B∨¬A)∧(¬C ∨ A)

14

¬((¬A ∨ B) ∧ (¬B ∨ A)) ∨ (A ∨ B)

15

¬(A∨ B)∧(A∨¬B)

16

¬(A∨ B)∧(A &¬B)

Содержание отчета

 

1.       Текст задания (с данными своего варианта).

2.       Представление по каждому пункту задания подробного решения.

 

Технология выполнения работы

 

В     данной работе необходимо составить таблицу истинности логического выражения, построить схему логической функции и упростить логическое выражение заданные каждому студенту в соответствии с его вариантом, записать ход рассуждений и полученные результаты.

 

Вопросы для защиты работы

 

1.       Что такое высказывание (приведите пример)?

2.       Что такое составное высказывание (приведите пример)?

3.        Как называются и как обозначаются (в языке математики) следующие операции: ИЛИ, НЕ, И, ЕСЛИ … ТО, ТОГДА И ТОЛЬКО ТОГДА, ЛИБО …ЛИБО?

4.       Укажите приоритеты выполнения логических операций.

5.        Составьте таблицу истинности для следующих операций: отрицание, конъюнкция, дизъюнкция, импликация, эквиваленция.

 

6.        Изобразите функциональные элементы: конъюнктор, дизъюнктор, инвертор.

7.       Какие логические выражения называются равносильными?

8.       Записать основные законы алгебры логики.

 


 

Скачивание материала доступно только для авторизованных пользователей.