Відношення

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

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

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

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

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

Міністерство освіти та науки України Національний університет «Львівська політехніка» Інститут комп’ютерних наук та інформаційних технологій Кафедра ПЗ З В І Т Лабораторна робота № 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 .
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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