Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Программа выполнения операций над множествами

Автор:   •  Январь 26, 2022  •  Контрольная работа  •  577 Слов (3 Страниц)  •  249 Просмотры

Страница 1 из 3

2.1 Разработка структуры данных

Программный объект представляет собой список задач, обладающий определённым набором параметров, для его хранения был выбран шаблонный класс Mnoj с параметром шаблона Data, одно из полей которого представлено классом list[2].

template <class Data>

class Mnoj

{

private:

int kol_elem;

Поле kol_elem содержит информацию о количестве элементов в списке заданного объекта.

list <Data> mn;

Список символов mn хранит элементы заданного множества.

string name;

Поле name содержит информацию о название заданного объекта.

};

Для подзадач выбран класс MainWindow, отдельные поля которого реализованы при помощи класса queue.

class MainWindow : public QMainWindow

{

private:

queue <Mnoj<int>> que_int = {};

Очередь que_int хранит множества с типом int.

queue <Mnoj<double>> que_dob = {};

Очередь que_dob хранит множества с типом double.

queue <Mnoj<string>> que_str = {};

Очередь que_str хранит множества с типом string.

queue <Mnoj<char>> que_chr = {};

Очередь que_chr хранит множества с типом char.

QTime start;

Поле start хранит информацию о времени начала выполнения отдельных операций над множествами.

QTime finish;

Поле finish хранит информацию о времени окончания выполнения отдельных операций над множествами.

};

Для удобной работы с пользовательскими ошибками создан класс MyException.

class MyException : public std::exception

{

private:

std::string type;

Поле type хранит информацию о возникшей ошибке.

};

2.2 Разработка модели поведения объекта

Приложение работает с объектами класса Mnoj и его полями.

Mnoj(const Mnoj& other);

Конструктор копирования класса Mnoj.

Mnoj(int kol_elem_ = 0, list<Data> mn_ = {}, string name_ = "examp");

Конструктор с параметрами по умолчанию класса Mnoj.

Mnoj(list<Data> mn_, string name_);

Конструктор класса Mnoj.

int get_kol_elem();

Возвращает количество элементов текущего объекта класса Mnoj.

list<Data> get_mn();

Возвращает список элементов текущего объекта класса Mnoj.

string get_name();

Возвращает название текущего объекта класса Mnoj.

void set_kol_elem(int kol_elem_);

Устанавливает количество элементов для текущего объекта класса Mnoj.

void set_mn(list<Data> mn_);

Устанавливает список элементов для текущего объекта класса Mnoj.

void set_name(string name_);

Устанавливает название для текущего объекта класса Mnoj.

Для выполнения операций над множествами используются следующие методы, представленные в разделе 2.3.1:

Mnoj unification(Mnoj mn1);

Объединение двух множеств.

Mnoj intersection(Mnoj mn1);

Пересечение двух множеств.

Mnoj difference(Mnoj mn1);

Разность двух множеств.

bool is_there(Data elem);

Проверка на вхождение элемента в множество.

bool is_there(Mnoj mn1);

Проверка на вхождение множества в множество.

void add(Data elem);

...

Скачать:   txt (8.7 Kb)   pdf (59.9 Kb)   docx (11.6 Kb)  
Продолжить читать еще 2 страниц(ы) »
Доступно только на Essays.club