Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
дискретка_все_практики / дискретка / Раздел_2_Практика_4.DOC
Скачиваний:
23
Добавлен:
22.05.2015
Размер:
155.14 Кб
Скачать

1. С помощью таблиц соответствия. Таблица для заданной функции составляется на эвм.

2. Использованием законов Моргана и перехода от ДНФ к СДНФ

Вариант 1

c) A A

d)

Вариант 2

  1. (AB)().

Вариант 3

  1. ((P(QP)) P)

  2. (P(Q(PQ)))

  3. (AB)

d) )

Вариант 4

  1. (((P Q)Q)(PQ))

  2. ((PQ)(QP))

  3. )(A B)

Вариант 5

  1. ((P(QR))((PQ)(PR)))

  2. (P(QP))

  3. (AB)

d)

Вариант 6

  1. ((P(QP))((QP)Q))

  2. (PP)

  3. (A(B B))A.

d)

Вариант 7

  1. ((P Q) (P (Q P))

  2. ((PQ)P)

  3. (A(B))A.

d)

Вариант 8

  1. (PR))

  2. ((PQ)Q)

  3. (A A)A

d)

Вариант 9

  1. ((P(QP)) P)

  2. (P(PQ)

  3. ((AB)(AB))A.

d)

Вариант 10

  1. (((PQ)Q)(PQ))

  2. (Q(PQ)

  3. ((AB)((AB)(A B)))(AB).

__ _____

d) x2x1x3(x1x2)

Вариант 11

  1. ((P(QP))((Q)Q))

  2. ()

  3. A

d)(x3x1)

Вариант 12

  1. ((P(QR))((PQ)(PR)))

  2. ((PQ)((PQ) P))

  3. (A( AB))(AB)

d)x3

Вариант 13

  1. ((P Q) (P (Q P))

  2. (PP)

  3. )(AB).

d)(x2x1)

Вариант 14

  1. (PR))

  2. ((Q P)((QP)Q))

  3. (A(B B))A.

d)

Вариант 15

  1. ((P(QP))P)

  2. ((PP)P

  3. (AB).

d))

4. Методические указания

Для получения отрицания, импликации, эквивалентности, дизъюнкции, конъюнкции производятся соответствующие операции Вывод булевых функций осуществляется следующим образом:

writeln(' ТАБЛИЦЫ ИСТИННОСТИ ');

writeln(' для следующего выражения 1 ');

writeln(' (A AND B) OR (A AND B) EQV A');

writeln;

for a:=1 downto 0 do

for b:=1 downto 0 do

begin

write(' (',a,' ',kon(a,b),' ',b,')',' ',diz(kon(a,b),kon(a,otr(b))));

write(' (',a,' ',kon(a,otr(b)),' ',otr(b),') ', ekv(diz(kon(a,b),kon(a,otr(b))),a),' ',a);

writeln;

end;

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

Пример программы на языке PASCAL иллюстрирующий вывод таблицы истинности для следующей операции:

(Q  S) (Q S)

program log1;

uses crt;

var

q,s,k:boolean;

function imp(a,b:boolean):boolean;{Функция, реализующая операцию импликация}

begin

if (a = true) and (b = false) then imp:=false else imp:=true;

end;

begin

clrscr;

writeln(' _ _ );

writeln('Q S (Q and S) (Q or S));

for q:=false to true do {Получение значения арг. Q}

for s:=false to true do {Получение значения арг. P}

begin

k:=imp(((not(q))and(s)),((q)or(not(s)));{Получение текущего результата}

writeln(q,' ',s,' ',k);{{Вывод текущего результата}

end;

end.

Примеры процедур отрицания, конъюнкции, дизъюнкции, эквивалентности, импликации на языке Паскаль:

Отрицание:

function otr(a:byte):byte;

begin

if a=0 then otr:=1 else otr:=0;

end;

Конъюнкция:

function kon(a,b:byte):byte;

begin

if (a=1) and (b=1) then kon:=1 else kon:=0;

end;

Дизъюнкция:

function diz(a,b:byte):byte;

begin

if (a=0) and (b=0) then diz:=0 else diz:=1;

end;

Эквивалентность:

function ekv(a,b:byte):byte;

begin

if (a=1) and (b=1) or (a=0) and (b=0) then ekv:=1 else ekv:=0;

end;

Соседние файлы в папке дискретка