Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lab5_bul

.doc
Скачиваний:
6
Добавлен:
16.02.2016
Размер:
164.86 Кб
Скачать

Лабораторная работа №5

Тема: Булева алгебра. Логические операции, формулы и их преобразования.

Цель работы: Практическое изучение логических операций, формул и их преобразований.

Краткие сведения из теории

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

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

Основоположником математической логики является английский математик Джордж Буль (1815 – 1864). Он впервые высказал идеи логического истолкования теории множеств.

Рассмотрим 2х элементное множество B, элементы которого 0 и 1. Однако они не являются числами в обычном смысле. Наиболее распространенная интерпретация двоичных переменных – это логические: “ДА – НЕТ” или “ИСТИННО – ЛОЖНО”. Например: в языках программирования вводится специальный тип переменной – логическая переменная, значения которой обозначаются TRUE и FALSE.

Таким образом, элементы множества B={0,1} будем рассматривать как формальные символы, а не числа.

Алгебра, образованная множеством B вместе со всеми возможными операциями на нем, называется алгеброй логики или Булевой алгеброй.

Булевой функцией f(x1, x2, … , xn) называется функция, которая принимает два значения 0 или 1 в зависимости от переменных хi , каждая из которых может также принимать только два значения 0 или 1.

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

Рассмотрим основные функции алгебры логики.

1. Логическое отрицание (инверсия) обозначается чертой над аргументом. Это функция одной переменной:

f(x) = x; 0 =1; 1=0.

Схема, реализующая логическое отрицание, называется логическим элементом НЕ.

Графическое обозначение элемента:

1 x

x

2. Логическое сложение (дизъюнкция). Это функция нескольких переменных. Функция обозначается следующим образом:

f(x1,x2) = x1 V x2 V x3

Для двух переменных таблица истинности имеет вид:

x1 x2 f(x1,x2)

0 0 0

0 1 1

1 0 1

1 1 1

Условное графическое обозначение схемы ИЛИ

x1

1 x1 V x2

x2

3. Логическое умножение (конъюнкция). Это функция нескольких переменных. Функция обозначается следующим образом:

f(x1x2) = x1 /\ x2 /\ х3

Функция определяется следующей таблицей истинности для двух переменных.

x1 x2 f(x1x2)

0 0 0

0 1 0

1 0 0

1 1 1

Условное графическое обозначение схемы И

x1 &

x1 * x2

x2

4. Функция Шеффера – реализует умножение с отрицанием. Определяется для двух переменных следующей таблицей истинности. Это функция нескольких переменных:

x1 x2 f(x1x2)

0 0 1

0 1 1

1 0 1

1 1 0

Функция имеет вид:

f(x1x2) = x1x2 = x1 /\ x2

Условное графическое обозначение схемы И-НЕ

x1

& x1 * x2

x2

5. Функция Пирса реализует логическое сложение с отрицанием. Определяется следующей таблицей истинности для двух переменных

x1 x2 f(x1x2)

0 0 1

0 1 0

1 0 0

1 1 0

Функция имеет вид:

f(x1x2) = x1  x2 = x1  x2

Условное графическое обозначение схемы ИЛИ-НЕ

X1

1 x1  x2

X2

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

6. Сложение по mod 2. Выполняет логическую операцию XOR. Это функция нескольких переменных и определяется следующей таблицей истинности для двух переменных:

x1

x2

Y

0

0

1

1

0

1

0

1

0

1

1

0

Функция имеет вид Y =x1  x2

Условное графическое обозначение элемента исключающее ИЛИ.

x1

=1

Y = x1  x2

x2

Всякая логическая функция “n” переменных может быть задана таблицей, в левой части которой перечислены все 2n наборов значений переменных, а в правой части – значения функции на этих наборах. Например, для 3-х переменных имеем:

x1

x2

x3

Y

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

0

1

0

0

1

1

0

0

Наборы (строки) х на которых функция Y=1 называют единичным набором. Наборы х на которых Y=0, называют нулевым набором Y.

Составим логическую функцию из таблицы значений. Для этого возьмем конъюнкции аргументов в той строке, где функция равна единице. Причем, если аргумент равен нулю – он берется с инверсией. Если аргумент равен единице – он берется с без инверсии. Полученные конъюнкции соединяем дизъюнкцией. Для нашего примера имеем три конъюнкции (три строки таблицы, где функция равна единице). Логическая функция имеет вид:

Y = (X1 /\ X2 /\ X3) \/ (X1 /\ X2 /\ X3) \/ (X1 /\ X2 /\ X3)

Инверсия обозначается чертой над аргументом. В первой конъюнкции аргументы Х1, Х2 взяты с инверсией, так как их значения во второй строке таблицы равны нулю. Во второй конъюнкции аргументы Х2, Х3 взяты с инверсией, так как их значения в пятой строке таблицы равны нулю. В третьей конъюнкции аргумент Х2 взят с инверсией, так как его значение в шестой строке таблицы равно нулю. Полученные конъюнкции объединены операциями дизъюнкции.

Основные законы алгебры логики

1. Переместительный закон. Коммутативность (лат. – менять, переменять).

X1  X2 = X2  X1 X1  X2 = X2  X1

2. Сочетательный закон. Ассоциативность (лат. – соединять).

X1  (X2  X3) = (X1  X2)  X3

X1  (X2  X3) = (X1  X2)  X3

3. Распределительный закон. Дистрибутивность.

X1  (X2  X3) = (X1  X2)  (X1  X3)

X1  (X2  X3) = (X1  X3)  (X1  X3)

4. Закон поглощения.

X1  (X1 X2) = X1 X1 (X1  X2) = X1

5. Закон склеивания.

X1X2  X1X2 = X1 (X1  X2)(X1  X2) = X1

6. Правило де Моргана.

X1  X2  X3 = X1 X2 X3; X1X2X3 = X1  X2  X3

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

приоритет

операция

1

2

3

4

инверсия

конъюнкция

дизъюнкция

сложение по mod 2

Операции одного приоритета выполняются слева направо. Для изменения порядка выполнения операций могут использоваться скобки.

Содержание работы

1. Выбрать вариант в задании 1 из таблицы 1 и составить логическую функцию. Для первого варианта берутся значения Y1, для второго варианта берутся значения Y2 и т.д.

2. Преобразовать логическую функцию к более простому виду.

3. Проверить полученную логическую функцию подстановкой нулей и единиц для аргументов Х1, Х2, Х3.

4. Выбрать вариант в задании 2 и найти значение логического выражения.

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

Задание 1

Таблица 1. Варианты заданий

X1

X2

X3

Y1

Y2

Y3

Y4

Y5

Y6

Y7

Y8

Y9

Y10

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

1

0

0

1

0

1

1

1

1

1

0

0

1

0

0

1

1

0

1

1

1

0

1

0

1

1

0

0

0

1

1

0

1

0

0

1

1

1

0

0

1

1

0

1

0

0

1

0

0

1

1

1

0

0

1

0

0

1

0

1

0

1

0

1

1

0

1

0

0

1

0

1

0

0

1

0

1

1

1

0

Продолжение таблицы 1

Y11

Y12

Y13

Y14

Y15

Y16

Y17

Y18

Y19

Y20

1

0

1

1

0

0

1

0

0

1

0

0

1

1

1

1

1

0

1

1

1

0

1

0

1

1

0

0

1

1

1

0

0

0

0

1

1

1

0

1

1

1

1

1

0

0

1

0

1

0

1

1

0

0

1

0

0

1

0

1

0

1

1

1

0

1

1

0

0

0

1

1

1

0

1

0

1

0

1

0

Задание 2. Найти значение приведённых ниже логических выражений:

1) A OR B AND NOT C при A = False, B = True, C = False;

2) (x < y) OR (x = z) при a) x = 0, y = 0, z = 0;

б) x = 0, y = -8, z = 0;

3) (a  z) AND (z>2) AND (a ≠ 5) при a) a = 2, z = 4;

б) a = -5,z = 0;

4) A  B при a) A = 2, B = 2;

при б) A = 2, B = 2;

5) A AND B OR NOT C при A = False, B = True, C = False;

6) (x < y) AND (x = z) при a) x = 0, y = 0, z = 0;

б) x = 0, y = -8, z = 0;

7) (a  z) OR (z>2) OR (a ≠ 5) при a) a = 5, z = -4;

б) a = -5,z = 0;

8) (x ≠ y) OR (z < 4) при a) x = 5, y = 7, z = 0;

б) x = 5, y = -7, z = 10;

9) (x ≠ y) AND (z < 4) при a) x = 5, y = 7, z = 0;

б) x = 5, y = -7, z = 10;

10) NOT (x > z) при a) x = 5, z = -2;

б) x = -5, z = 2;

11) NOT A OR B при A = True, B = False;

12) (A OR B) AND C при A = True, B = False, C = True;

13) (x ≥ y) OR (z > -4) при a) x = 5, y = 7, z = 0;

б) x = 5, y = -7, z = 10;

14) (x ≥ y) OR (z ≤ 4) при a) x = 5, y = 7, z = 0;

б) x = 5, y = -7, z = 10;

б) x = 2, z = 2;

15) A OR NOT B при A = False, B = False;

16) A OR B AND C при A = True, B = False, C = True;

17) (x ≥ y) OR (z > -4) при a) x = 5, y = 7, z = 0;

б) x = 5, y = -7, z = 10;

18) (x ≤ y) AND (z ≤ 4) при a) x = -5, y = -7, z = 0;

б) x = 5, y = -7, z = 10;

б) x = 2, z = 2;

19) A AND NOT B при A = True, B = False;

20) NOT (A OR B) AND C при A = True, B = False, C = True.

Задание 3

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

1

&

1

A

B

C

Вариант 1

1

1

1

A

B

C

Вариант 2

1

&

1

A

B

C

Вариант 3

1

1

Вариант 4

A

B

C

1

1

A

B

C

Вариант 5

&

1

A

B

C

Вариант 6

&

1

1

A

B

C

Вариант 7

&

1

1

A

B

C

Вариант 8

1

&

A

B

C

Вариант 9

&

&

A

B

C

Вариант 10

1

&

1

A

B

C

1

1

1

A

B

C

1

&

1

A

B

C

1

1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]