Основы дискретной математики
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) Заданы логические функции: и
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности