Referat.me

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

Вид работы: лабораторная работа

Рубрика: Информатика и программирование

Размер файла: 19.08 Kb

Скачать файл: referat.me-140305.docx

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

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

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

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

ФІКТ

Кафедра ПЗОТ

група ПІ-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());

Висновок:

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

Похожие работы

  • Способи зберігання графів. Пошук в графі

    Програмна робота з графами: операції їх зчитування, збереження та обробки у вигляді перевірки на симетричність та орієнтованість. Основи пошуку в графі в різних напрямках. Розбиття множини вершин на класи еквівалентності за відношенням зв'язності графу.

  • Системи автоматизованого проектування

    Організаційні основи розробки систем автоматизованого проектування на виробництві, їх впровадження і експлуатація. Загальні відомості про мікропроцесорні пристрої і системи. Основні поняття, визначення, постановка й розв’язок простих оптимізаційних задач.

  • Емпіричне дослідження програмного забезпечення

    Аналіз методів емпіричної інженерії програмного забезпечення. Призначення та властивості програмного забезпечення та метрик проектів Openproj-1.4-src, TalendOpen Studio 3.2.1 та Рlazma-source 0.1.8, їх статистичний, кореляційний та регресійний аналіз.

  • Складання сценаріїв в операційній системі LINUX

    Знайомство із текстовою операційною оболонкою bash, вивчення мови програмування оболонки bash та практичне складання найпростіших сценаріїв за допомогою редактора vi (vim). Створення файла сценарію. Змінні середовища, оператор-перемикач та оператор циклу.

  • Оцінка трудомісткості алгоритму

    Засвоєння засобів аналізу трудомісткості обчислювальних алгоритмів. Побудова графа алгоритму з отриманої блок-схеми. Мінімізація графа, його подання у вигляді стохастичної матриці. Знаходження кількості звернень до файлів за допомогою Microsoft Excel.

  • Синтез системи оперативної обробки мінімальної конфігурації

    Еverest як програма для перегляду інформації про апаратні і програмні конфігурації комп'ютера, її структура та принцип роботи, значення та функціональні особливості. Обчислення середнього часу відповіді та вартості СОО. Методи діагностики Linux.

  • Доведення теоретико-математичних тотожностей і тверджень

    Розробка алгоритму та написання програми обчислення множин. Доведення теоретико-математичних тотожностей і тверджень. Побудова диз’юнктивної нормальної форми. Розробка алгоритму та написання програми знаходження множини елементарних циклів у графі.

  • Форматування даних в програмах C++

    Правила відтворення даних при введенні. Введення-виведення даних та їх формування. Буферизований вихідний потік для повідомлення про помилки. Управління форматами за допомогою компонентних функцій класу ios. Визначення користувальницьких маніпуляторів.

  • Основи роботи в системі символьної математики MATLAB 5.2

    Основи роботи з векторами і матрицями. Способи будування математичних виразів. Константа як заздалегідь визначене числове або символьне значення, представлене унікальним ім’ям. Знаходження матриці обернення та множення їх на скаляр в пакеті Matlab.

  • Організація баз даних

    Методи використання традиційних файлових систем - набору програм, які виконують для користувачів деякі операції, наприклад, створення звітів. Системи керування баз даних. Основні поняття реляційної моделі даних. Реляційна алгебра і реляційне числення.