Программа выполнения операций над множествами
Автор: Dmitry2001 • Январь 26, 2022 • Контрольная работа • 577 Слов (3 Страниц) • 260 Просмотры
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);
...