Контрольная работа по предмету "Информатика, программирование"


Теорія множин. Операції над множинами та їх властивості

Міністерство освіти і науки України


Житомирський державний технологічний університет


ФІКТ


Кафедра ПЗОТ


група ПІ-39


Лабораторна робота №1


з дисципліни «Дискретна математика»


на тему: «Теорія множин. Операції над множинами та їх властивості»


м. Житомир


2010р.


Завдання:


1. Програмно реалізувати виконання наступних операцій над множинами А, В: перетин множин, об’єднання множин, доповнення.


Універсальна множина U = {1, 2, 3, 4, 5}. Користувач вводить розмір та елементи множин А і В.


2. Програмно обчислити результуючу множину:


а) за вихідним виразом;


б) за спрощеним виразом.


Порядок виконання роботи:


1. Складемо програму для реалізації заданих операцій над двома множинами: перетин, об’єднання, доповнення. Текст програми з відповідними коментарями наведено нижче.


Код програми:


#include <stdio.h>


#include <conio.h>


#include <iostream.h>


void main ()


{


clrscr ();


int U[5], A[6], B[6], sz_a, sz_b;


int Abin[5], Bbin[5];


for (int i = 0; i < 5; i++)


{


U[i] = i + 1;


}


cout << " U = {";


for (i = 0; i < 5; i++)


cout << U[i];


cout << "}" << endl << endl;


for (i = 0; i < 5; i++)


{


Abin[i] = 0;


Bbin[i] = 0;


}


cout << " Введіть розмір множини \"А: \" ";


cin >> sz_a;


cout << " Введіть елементи множини \"А: \" " << endl << endl;


for (i = 0; i < sz_a; i++)


{


cin >> A[i];


}


cout << endl << " Введіть розмір множини \"В: \" ";


cin >> sz_b;


cout << " Введіть елементи множини \"В: \" " << endl;


for (i = 0; i< sz_b; i++)


{


cin >> B[i];


}


for (i = 0; i < 5; i++)


{


for (int j = 0; j < 5; j++)


{


if (U[j] == A[i]) /* якщо відповідний елемент універсальної множини дорівнює елементу


Abin[j] = 1; відповідної множини, то у відповідний елемент бінарного масиву


if (U[j]==B[i]) заносимо «1», таким чином організовуємо бінарні множини для множин


Bbin[j]=1; «А» та «В» для подальшої обробки */


}


}


cout << endl << " Перетин множин: " << endl << "{";


for (i = 0; i < 5; i++)


{


if (Abin[i] && Bbin[i])


cout << " " << U[i];


}


cout << " }" << endl;


cout << endl << " Об’єднання множин: " << endl << "{";


for (i = 0; i < 5; i++)


{


if (Abin[i] || Bbin[i])


cout << " " << U[i];


}


cout << " }" << endl;


cout << endl << " Доповнення для множини \"A\": " << endl << "{";


for (i = 0; i < 5; i++)


{


if (!Abin[i])


cout << " " << U[i];


}


cout << " }" << endl;


cout << endl << " Доповнення для множини \"B\": " << endl << "{";


for (i = 0; i < 5; i++)


{


if (!Bbin[i])


cout << " " << U[i];


}


cout << " }" << endl;


while (!kbhit());


}


2. Складемо програму для обчислення результуючої множин за вихідним та за спрощеним виразом. Текст програми з відповідними коментарями наведено нижче.


Код програми:


#include <stdio.h>


#include <conio.h>


#include <iostream.h>


void main()


{


clrscr();


int A[] = {5,11,3,7,9,8,10};


int B[] = {1,2,4,3,5,11};


int C[] = {4,3,7,9,6};


int U[14] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14};


int a[14], b[14], c[14], u[14];


for (int i = 0; i < 14; i++)


{


a[i] = 0;


b[i] = 0;


c[i] = 0;


u[i] = 0;


}


for (i = 0; i < 14; i++)


for (int j = 0; j < 7; j++)


if (U[i] == A[j])


{


a[i] = 1;


break;


}


for (i = 0; i < 14; i++)


for (int j = 0; j < 6; j++)


if (U[i] == B[j])


{


b[i] = 1;


break;


}


for (i = 0; i < 14; i++)


for (int j = 0; j < 5; j++)


if (U[i] == C[j])


{


c[i] = 1;


break;


} програма множина спрощення вираз


for (i = 0; i < 14; i++)


u[i] = !a[i] || !c[i] || b[i] || c [i];


cout << "U = ";


for (i = 0; i < 14; i++)


if ( u[i] == 1 )


cout << U[i] << " ";


while (!kbhit());


Висновок:


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



Не сдавайте скачаную работу преподавателю!
Данную контрольную работу Вы можете использовать для выполнения своих заданий.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :