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

Відношення

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

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

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

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

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

Міністерство освіти та науки України Національний університет «Львівська політехніка» Інститут комп’ютерних наук та інформаційних технологій Кафедра ПЗ З В І Т Лабораторна робота № 4 З курсу «Дискретної математики» Тема: «Відношення» Мета роботи: Навчитися складати відношення за допомогою функцій мови Pascal. Завдання: Ввести з клавіатури відношення на множині {1,2,3,4}. Зберегти відношення за допомогою array. Визначити чи дане відношення є рефлексивне іррефлексивне симетричне антисиметричне асиметричне транзитивне Текст програми program vidnowennya; uses crt; const SIZE = 4; var vidnow:array[1..SIZE,1..2]of integer; mas,mas3,mas4,mas5,mas6:array[1..SIZE]of integer; temp:array[1..SIZE]of integer; max,min,n:integer; i,j,num,g:integer; reflex,irreflex,sumet,antusumet,asumet,tranzut,ekviv,chastk:boolean; begin clrscr; for i:=1 to SIZE do temp[i]:=0; reflex:=false; irreflex:=true; sumet:=false; antusumet:=false; asumet:=false; tranzut:=false; ekviv:=false; chastk:=false; writeln('Vveditj ',SIZE,' paru vidnowenj. Cusla <=4'); for i:=1 to SIZE do begin writeln('Vveitj ',i,'-tu pary elem'); for j:=1 to 2 do begin readln(num); while num>4 do begin writeln('Vvedeno chuslo >4 vveditj inwe chuslo'); readln(num); end; temp[num]:=1; vidnow[i,j]:=num; end; end; max:=vidnow[1,1]; min:=vidnow[1,1]; for i:=1 to SIZE do for j:=1 to 2 do begin if vidnow[i,j]>max then max:=vidnow[i,j]; if vidnow[i,j]<min then min:=vidnow[i,j]; end; for i:=1 to 4 do mas[i]:=0; {-----------------------------------------------------} for i:=1 to SIZE do if vidnow[i,1]=vidnow[i,2] then begin mas[vidnow[i,1]]:=1; end; for i:=1 to 4 do if mas[i]=0 then begin if temp[i]=1 then break else begin if i=4 then reflex:=true; continue; end; end else if i=4 then reflex:=true; {-----------------------------------------------------} for i:=1 to SIZE do if vidnow[i,1]=vidnow[i,2] then irreflex:=false; {-----------------------------------------------------} for i:=1 to SIZE do mas3[i]:=0; for i:=1 to SIZE do mas4[i]:=0; for i:=1 to SIZE do mas5[i]:=0; for i:=1 to SIZE do if vidnow[i,1]=vidnow[i,2] then begin mas3[i]:=1; mas4[i]:=1; end else begin for j:=1 to SIZE do if (vidnow[j,1]=vidnow[i,2])and(vidnow[j,2]=vidnow[i,1]) then begin antusumet:=false; for g:=1 to SIZE do mas4[g]:=0; mas3[i]:=1; mas3[j]:=1; end else begin if j=SIZE then begin mas4[i]:=1; mas5[i]:=1; end; end; end; for i:=1 to SIZE do if mas3[i]=0 then break else if i=SIZE then sumet:=true; for i:=1 to SIZE do if mas4[i]=0 then break else if i=SIZE then antusumet:=true; for i:=1 to SIZE do if mas5[i]=0 then break else if i=SIZE then asumet:=true; {-----------------------------------------------------} for i:=1 to SIZE do mas6[i]:=0; n:=0; for i:=1 to SIZE do for j:=1 to SIZE do if (vidnow[i,2]=vidnow[j,1]) then begin for g:=1 to SIZE do if (vidnow[g,1]=vidnow[i,1])and(vidnow[g,2]=vidnow[j,2]) then begin mas6[i]:=1; break; end; end else begin n:=n+1; if n = SIZE then mas6[i]:=1; if j=4 then n:=0; end; for i:=1 to SIZE do if mas6[i]=0 then break else if i=SIZE then tranzut:=true; {-----------------------------------------------------} if reflex and sumet and tranzut then ekviv:=true; if reflex and antusumet and tranzut then chastk:=true; writeln; if reflex then writeln('Vidnowennya refleksuvne'); if irreflex then writeln('Vidnowennya irrefleksuvne'); if sumet then writeln('Vidnowennya sumetruchne'); if antusumet then writeln('Vidnowennya antusumetruchne'); if asumet then writeln('Vidnowennya asumetruchne'); if tranzut then writeln('Vidnowennya tranzutuvne'); if ekviv then writeln('Vidnowennya ekvivalentnosti'); if chastk then writeln('Vidnowennya chastkovogo poryadky'); if (not reflex) and (not irreflex) and (not sumet) and (not antusumet) and (not asumet) and (not tranzut) then writeln('Vidnowennya ne nalezhutj do zhodnogo tupy!'); readln; end. Висновок: На даній лабораторній роботі я навчився складати відношення в мові Pascal .
Антиботан аватар за замовчуванням

2015

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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