Основы дискретной математики

i:byte;

begin

p:=Edit1. Text;

p2:='0,'+Edit3. Text;

S:=Dec2Bin (StrToInt(p));

S2:=Dec2BinDrob (StrToFloat(p2));

for i:=11 downto 1 do begin

S3:=S3+S2 [i];

end;

Edit2. Text:=S+'.'+S3;

end;

procedure TForm1. BitBtn4Click (Sender: TObject);

var i:byte;

P:string;

begin

for i:=1 to 16 do begin

if StringGrid2. Cells [5, i]='1' then begin

P:=StringGrid2. Cells [1, i]+StringGrid2. Cells [2, i]+

StringGrid2. Cells [3, i]+StringGrid2. Cells [4, i];

Label7. Caption:=Label7. Caption+' '+P;

end;

end;

for i:=1 to 16 do begin

if StringGrid2. Cells [6, i]='1' then begin

P:=StringGrid2. Cells [1, i]+StringGrid2. Cells [2, i]+

StringGrid2. Cells [3, i]+StringGrid2. Cells [4, i];

Label8. Caption:=Label8. Caption+' ' +P;

end;

end;

for i:=1 to 16 do begin

if StringGrid2. Cells [7, i]='1' then begin

P:=StringGrid2. Cells [1, i]+StringGrid2. Cells [2, i]+

StringGrid2. Cells [3, i]+StringGrid2. Cells [4, i];

Label9. Caption:=Label9. Caption+' '+P;

end;

end;

end;

end.

Рисунок 4.3 – Форма для примера 2

4.4 Вопросы для самопроверки

1) Чем отличается кортеж от обычного множества?

2) Приведите пример использования кортежей в программировании.

3. Какие операции над множествами Вы знаете?

4) Какой способ существует для графического изображения множеств?

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

6) Какие операции (логические связки) из алгебры логики Вы знаете?

7) Возможно ли провести аналогию между операциями над множествами и логическими операциями?

8) Какое правило используется при построении СДНФ логической функции?

9) Какое правило используется при построении СКНФ логической функции?

10) Каков алгоритм перевода числа из десятичной системы счисления в двоичную систему счисления?

11) Почему логические функции и логические переменные часто называют двоичными?

12) Какая связь существует между логическими функциями и функционированием компьютера, отдельных его устройств?

Практическая работа № 5. Исследование логических функций

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

Примечание: все теоретические сведения, необходимые для выполнения данной работы, содержатся в [25], в лекциях и в материалах семинарских занятий.

5.1 Задание к работе

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

2. Используя средства Excel и Delphi, построить арифметические модели заданных логических функций.

3. Представить заданные логические функции в виде СДНФ, СКНФ и СПНФ.

4. Построить логические функциональные схемы для заданных логических функций F1 и F2.

5. Сделать выводы.

5.2 Практическая часть

5.2.1 Пример выполнения

Задание: Построить таблицу истинности, СДНФ, СКНФ, СПНФ и логические функциональные схемы для данных логических функций:

F1=

F2=

Код программы построения таблицы истинности логический функций:

Procedure TForml. ButtonlClick (Sender: TObject);

var xl, x2, x3:boolean; i:byte;

a1, a2, a3: string;

begin

Stringgridl. Cells [l, 0]:='xl';

Stringgridl. Cells [2,0]:='x2';

Stringgridl. Cells [3,0]:='x3';

Stringgrid1. Cells [4,0]:=F1';

Stringgridl. Cells [5,0]:='F2';

for i:=l to 8 do begin Stringgrid1. Cells [0, i]:=inttostr (i‑1);

if i<=4 then Stringgridl. Cells [l, i]:=’0’ else Stringgridl. Cells [l, i]:=1;

if (i<=2) or (i=5) or (i=6) then Stringgridl. Cells [2, i]:='0’ else Stringgridl. Cells [2, i]:=' 1';

if (i mod 2 >0) then Stringgridl. Cells [3, i]:='0' else Stringgridl. Cells [3, i]:=1; end;

for i:=l to 8 do begin

x1:=strtobool (Stringgrid 1. Cells [1, i]);

x2:=strtobool (Stringgridl. Cells [2, i]);

x3:=strtobool (Stringgridl. Cells [3, i]);

if (x2 and x3) or (not(xl) and not(x2)) or (x3 and not(xl)) then

Stringgridl. Cells [4, i]:=’1’ else Stringgridl. Cells [4, i]:='0';

if (x2 and x3) or (not(xl) and not(x2) and not(x3)) then Stringgridl. Cells [5, i]:=1 else Stringgridl. Cells [5, i]:='0'; end; end;

Рисунок 5.1 – Форма с результатами

МДНФ:

F1 =

F2 =

МКНФ:

F1 =

F2 =

СПНФ:

F1 =

F2 =

Рисунок 5.2 – Логическая схема для МКНФ функции F1

5.2.2 Варианты заданий

1) Заданы логические функции: F1= 1 на наборах 0, 3 и

2) Заданы логические функции: F1= 1 на наборах 0, 1, 3 и

3) Заданы логические функции: F1= 1 на наборах 3, 7 и

4) Заданы логические функции: F1= 1 на наборах 0, 1, 3, 7 и

5) Заданы логические функции: F1= 1 на наборах 0,1,2,3,7 и

6) Заданы логические функции: F1= 1 на наборах 2,5,6 и

7) Заданы логические функции: F1= 1 на наборах 0, 2,5,7 и

8) Заданы логические функции: F1= 1 на наборах 0, 1,3 и

9) Заданы логические функции: F1= 1 на наборах 3,4,6,7 и

10) Заданы логические функции: и

Страница:  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15 
 16  17  18  19  20  21  22  23  24  25  26  27  28  29  30 
 31  32  33  34  35  36 


Другие рефераты на тему «Программирование, компьютеры и кибернетика»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы