DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Розробка алгоритму і програми, для обчислення мінтермів для логічної функції заданої логічним виразом

Інформація про навчальний заклад

ВУЗ:
Вінницькій національний технічний університет
Інститут:
Не вказано
Факультет:
Комп'ютерна інженерія
Кафедра:
Не вказано

Інформація про роботу

Рік:
2014
Тип роботи:
Лабораторна робота
Предмет:
Інформаційні технології

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки, молоді та спорту України Вінницький національний технічний університет Інститут Інформаційних Технологій та Комп’ютерної Інженерії Лабараторна робота № 8. Тема: Розробка алгоритму і програми, для обчислення мінтермів для логічної функції заданої логічним виразом. м.Вінниця 2012 Мета: Набути навичок для обчислення мінтермів для логічної функції заданої логічним виразом, та програмної реалізації досліджуваного алгоритму. Хід роботи: 1.Вивчити теоретичний матеріал. 2.Розробити програму для обчислення мінтермів для логічної функції заданої логічним виразом. 3.Побудувати блок-схему. 4.Приклади тестування програми. 5.Висновок. 6.Лістинг програми. 3.Блок-схема / Рисунок 1. / Рисунок 2. 5. Висновок: набуто навичок обчислення мінтермів для логічної функції заданої логічним виразом. Програмно реалізовано даний алгоритм. 6. Лістинг програми (додаток). uses crt; type sim=array[1..6] of string; const permx:sim=('X1','X2','X3','X4','X5','X6'); permnx:sim=('nX1','nX2','nX3','nX4','nX5','nX6'); var i,n:integer; s:string; a: array[1..100] of string; {повертає кількість непорожніх елементів масиву} function kol(a:array[1..100] of string): integer; var i,k:integer; begin k:=0; for i:=1 to 100 do begin if length(a[i])>0 then k:=k+1; end; kol:=k; end; {витягує перше слово} function token(s:string): string; var res: string; begin res:=''; if pos('+',s)>0 then begin repeat res:=res+copy(s,1,1); delete(s,1,1); until pos('+',s)=1; end else begin repeat res:=res+copy(s,1,1); delete(s,1,1); until s=''; end; token:=res; end; {видаляє перше слово і знак '+'} function tokost(s:string): string; begin if pos('+',s)>0 then begin repeat delete(s,1,1); until pos('+',s)=1; delete(s,1,1); end else begin repeat delete(s,1,1); until s=''; end; tokost:=s; end; {процедура для перетворення аргументів} procedure args(n:integer; s:string; permx:array[1..6] of string; permnx:array[1..6] of string; povx:array[1..100] of string); var p,k,j,i:integer; x,nx:array[1..100] of string; begin for i:=1 to 100 do begin x[i]:=''; nx[i]:=''; end; for j:=1 to n do begin for i:=1 to 100 do begin if length(povx[i])>0 then begin if pos(inttostr(j),povx[i])=0 then begin x[i]:=povx[i]+'*'+permx[j]; nx[i]:=povx[i]+'*'+permnx[j]; end; if pos(inttostr(j),povx[i])>0 then begin x[i]:=povx[i]; end; end; end; for k:=1 to 100 do begin if length(x[k])>0 then povx[k]:=x[k]; end; for p:=1 to 100 do begin if length(nx[p])>0 then povx[kol(povx)+p]:=nx[p]; end; end; for i:=1 to 100 do begin if length(povx[i])>0 then write(povx[i],'+'); end; end; {основа програми} BEGIN writeln('Введіть кількість аргументів (від 2 до 6):'); readln(n); writeln('Введіть функцію ДНФ від ',n,' аргументів:'); readln(s); write('ДДНФ-',n,'='); for i:=1 to 100 do begin a[i]:=token(s); s:=tokost(s); end; args(n,s,permx,permnx,a); END.
Антиботан аватар за замовчуванням

05.02.2014 22:55

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!