DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Лабораторна робота № 4 з курсу «Дискретна математика» на тему «Відношення»

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Комп’ютерних та інформаційних технологій
Кафедра:
Програмного забезпечення (ПЗ)

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

Рік:
2007
Тип роботи:
Лабораторна робота
Предмет:
Дискретна математика
Група:
ПІ
Коротко про документ

Про що ця робота

Звіт з лабораторної роботи присвячено перевірці властивостей бінарних відношень на скінченній множині. Реалізовано програму мовою Turbo Pascal для визначення рефлексивності, симетричності та транзитивності.

У роботі розглядаються

  • Дискретна математика
  • Бінарні відношення
  • Властивості відношень
  • Рефлексивність
  • Симетричність
  • Транзитивність
  • Мова програмування Pascal

Зміст і розділи

  1. Завдання
  2. Текст програми
  3. Висновок
Для кого:Студенти технічних спеціальностей та вивчаючі дискретну математику і програмування.
Викладачі:Не вказано

Ключові поняття

відношеннярефлексивністьіррефлексивністьсиметричністьантисиметричністьасиметричністьтранзитивністьеквівалентністьчастковий порядокTurbo Pascal

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

Міністерство освіти і науки України Національний університет «Львівська політехніка» Інститут комп’ютерних наук та інформаційних технологій Кафедра ПЗ ЗВІТ Лабораторна робота № 4 з курсу «Дискретна математика» Тема: "Відношення ” Львів-2007 Завдання: Завдання. Ввести з клавіатури відношення на множині {1,2,3,4}. Зберегти відношення за допомогою array. Визначити чи дане відношення є рефлексивне іррефлексивне симетричне антисиметричне асиметричне 6. транзитивне Відлагодити, скомпілювати і зберегти програму. Оформити звіт про роботу. Текст програми program vidnoshennya; uses crt; const N = 4; var vidnosh: array[1..N,1..2]of integer; mas,mas3,mas4,mas5,mas6:array[1..4]of integer; max:integer; i,j,num,g:integer; reflex,irreflex,symetr,antysymetr,asymetr,tranzut,ekviv,chastk:boolean; begin clrscr; reflex:=false; irreflex:=true; symetr:=false; antysymetr:=false; asymetr:=false; tranzut:=false; ekviv:=false; chastk:=false; writeln('‚Введіть ',N,' пари відношень (числа менші 4)'); for i:=1 to N do begin writeln('Введіть ',i,'пару елементів'); for j:=1 to 2 do begin readln(num); while num>4 do begin writeln('Введено число більше 4, введіть інше число'); readln(num); end; vidnosh[i,j]:=num; end; end; max:=0; for i:=1 to N do for j:=1 to 2 do if vidnosh[i,j]>max then max:=vidnosh[i,j]; for i:=1 to 4 do mas[i]:=0; for i:=1 to N do if vidnosh[i,1]=vidnosh[i,2] then begin mas[vidnosh[i,1]]:=1; end; for i:=1 to 4 do if mas[i]=0 then begin if i-1=max then begin reflex:=true; break; end else break; end else if i=4 then reflex:=true; for i:=1 to N do if vidnosh[i,1]=vidnosh[i,2] then irreflex:=false; for i:=1 to N do mas3[i]:=0; for i:=1 to N do mas4[i]:=0; for i:=1 to N do mas5[i]:=0; for i:=1 to N do if vidnosh[i,1]=vidnosh[i,2] then begin mas3[i]:=1; mas4[i]:=1; end else begin for j:=i to N do if (vidnosh[j,1]=vidnosh[i,2])and(vidnosh[j,2]=vidnosh[i,1]) then begin antysymetr:=false; for g:=1 to N do mas4[g]:=0; mas3[i]:=1; mas3[j]:=1; end else begin if j=N then begin mas4[i]:=1; mas5[i]:=1; end; end; end; for i:=1 to N do if mas3[i]=0 then break else if i=N then symetr:=true; for i:=1 to N do if mas4[i]=0 then break else if i=N then antysymetr:=true; for i:=1 to N do if mas5[i]=0 then break else if i=N then asymetr:=true; for i:=1 to N do mas6[i]:=0; for i:=1 to N do for j:=1 to N do if vidnosh[i,2]=vidnosh[j,1] then begin for g:=1 to N do if vidnosh[g,1]=vidnosh[j,2] then begin mas6[i]:=1; end else mas6[i]:=0; end else mas6[i]:=1; for i:=1 to N do if mas6[i]=0 then break else if i=N then tranzut:=true; if reflex and symetr and tranzut then ekviv:=true; if reflex and antysymetr and tranzut then chastk:=true; writeln; if reflex then writeln('Відношення рефлексивне'); if irreflex then writeln('Відношення іррефлексивне '); if symetr then writeln('Відношення симетричне'); if antysymetr then writeln('Відношення антисиметричне '); if asymetr then writeln('Відношення асиметричне '); if tranzut then writeln('Відношення транзитивне'); if ekviv then writeln('Відношення еквівалентності'); if chastk then writeln('Відношення часткового порядку'); if (not reflex) and (not irreflex) and (not symetr) and (not antysymetr) and (not asymetr) and (not tranzut) then writeln('Відношення не належить до жодного типу'); readln; end. Висновок: На цій роботі я перевірив свої знання по темі відношення та навчився записувати відношення в на мові Turbo Pascal.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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