Операції над множинами

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

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

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

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

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

Міністерство освіти і науки України Національний університет «Львівська політехніка» Інститут комп’ютерних наук та інформаційних технологій Кафедра ПЗ ЗВІТ Лабораторна робота № 3 з курсу «Дискретна математика» Тема: " Операції над множинами ” Виконав: ст. гр. ПІ-12 Прийняв: Львів-2007 Завдання: Описати 2 множини цілих чисел та продемонструвати виконання над ними наступних операцій: перевірку на рівність, перевірку на підмножину, перевірку на входження елемента у множину, об’єднання, перетин, різниця (всі можливі випадки). Відлагодити, скомпілювати і зберегти програму. Оформити звіт про роботу. Текст програми program mas; uses crt; const MAX = 9; type bit = 0..1; type mnogina = 0..9; var a:array[1..MAX]of integer; b:array[1..MAX]of integer; per:array[1..MAX]of bit; a1:array[1..MAX]of bit; b1:array[1..MAX]of bit; rizab:array[1..MAX]of bit; rizba:array[1..MAX]of bit; sum:array[1..MAX]of bit; i,j,maxa,maxb:integer; univ:array[1..MAX]of integer; mnga,mngb,rizmngab,rizmngba,summngab,permngab:set of mnogina; begin clrscr; for i:=1 to MAX do begin b[i]:=0; a[i]:=0; end; write('Введіть кількість елементів множини А: '); readln(maxA); write('Введіть кількість елементів множини В: '); readln(maxb); if (maxa>MAX)or(maxb>max) then writeln('Vuhid za mezi universaljnoi mnozhunu') else Begin for i:=1 to maxa do begin write('Введіть',i,' - й елемент масиву А: '); readln(j); a[i]:=j; end; mnga:=[a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]]; for i:=1 to maxb do begin write('Введіть ',i,' - й елемент масиву B: '); readln(j); b[i]:=j; end; mngb:=[b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9]]; for i:=1 to max do begin univ[i]:=i; end; for i:=1 to maxa do for j:=1 to max do if a[i]=univ[j] then a1[j]:=1; for i:=1 to maxb do for j:=1 to max do if b[i]=univ[j] then b1[j]:=1; writeln; for i:=1 to max do if (a1[i]=0)and(b1[i]=0)then continue else sum[i]:=1; summngab:=mnga+mngb; for i:=1 to max do if (a1[i]=1)and(b1[i]=1) then per[i]:=1; permngab:=mnga*mngb; for i:=1 to max do if (a1[i]=1)and(b1[i]=0) then rizab[i]:=1;{a\b} rizmngab:=mnga-mngb;{a\b} for i:=1 to max do if (b1[i]=1)and(a1[i]=0) then rizba[i]:=1;{b\a} rizmngba:=mngb-mnga;{b\a} write('Вивід А: '); for i:=1 to max do write(a1[i],' '); writeln; for i:=1 to max do if i in mnga then write(i,' '); writeln;writeln; write('Вивід В: '); for i:=1 to max do write(b1[i],' '); writeln; for i:=1 to max do if i in mngb then write(i,' '); writeln;writeln; write('Об’єднання множини А і В: '); for i:=1 to max do write(sum[i],' '); writeln; for i:=1 to max do if i in summngab then write(i,' '); writeln;writeln; write('Переріз множин А і В '); for i:=1 to max do write(per[i],' '); writeln; for i:=1 to max do if i in permngab then write(i,' '); writeln; writeln; write('Різниця множин А і В: '); for i:=1 to max do write(rizab[i],' '); writeln; for i:=1 to max do if i in rizmngab then write(i,' '); writeln; writeln; write('Різниця множин В і А: '); for i:=1 to max do write(rizba[i],' '); writeln; for i:=1 to max do if i in rizmngba then write(i,' '); writeln; writeln; if mnga = mngb then writeln('Множина А рівна множині В'); if mnga <= mngb then writeln('Множина А є підмножиною множини В'); if mnga >= mngb then writeln('Множина В є підмножиною множини А '); write('Введіть число для пошуку : '); readln(j); if a1[j]=1 then writeln('Елемент входить до множини А'); if b1[j]=1 then writeln('Еленент входить до множини В'); if (a1[j]=0)and(b1[j]=0) then writeln('Елемент не входить до множин А і В'); End; readln; end. Висновок: На цій роботі я вдосконалив свої вміння по виконанню операцій з множинами в середовищі Turbo Pascal.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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