Множини: Математичні операції з множинами

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

Зміст

 

Зміст

1 Завдання

2 Аналіз предметної області та визначення функціональності модуля

3 Проектування інтерфейсу модуля

4 Проектування внутрішньої структури модуля

5 Приклад використання модуля

6 Текст програми

1 Завдання

 

„Множини: Математичні операції з множинами. Елементами множини можуть бути цілі числа або інші обєкти за смаком. ”

Завдання полягає в тому, що потрібно створити програмний модуль „Множина” та організувати його правильну структуру, визначити методи та властивості цього модуля (елементами множини є цілі числа). Також потрібно реалізувати математичні операції з множинами. Набір операцій має бути таким, щоб забезпечити використання класу на деякому початковому етапі, тому обмежимось такими операціями, як: обєднання, перетин, різниця множин, симетричної різниці, перевірка належності заданого елемента множині. Після опису класу та реалізації всіх операцій потрібно створити обєкти даного класу та показати роботу математичних операцій над обєктами множинами на практиці.

 

2 Аналіз предметної області та визначення функціональності модуля

 

Предметна область це частина реального світу, що підлягає вивченню з метою автоматизації.

Предметною областю даного завдання є розділ математики, який займається вивченням множин. Цей розділ називається „Множини”. Автоматизування даної предметної області заключається в створенні програмного модуля, який б міг виконувати різні математичні операції над множинами. Така автоматизація має полегшити роботу користувачів при виконанні операцій над множинами.

Відповідно до предметної області даний програмний модуль повинен виконувати такий базовий набір функцій:

заповнення множини цілими числами;

виведення множини;

виконання математичних операцій.

Для повноцінного функціонування модуля можна реалізувати такі математичні операції:

обєднання множин;

перетин множин;

різниця множин;

симетрична різниця множин;

перевірка належності елемента множині.

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

Перетин множин: результатом даної операції є множина, яка містить спільні для першої та другої множини елементи.

Результатом різниці двох множин є множина, яка містить тільки ті елементи, які належать першій множині за виключенням спільних елементів для першої та другої множин.

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

 

3 Проектування інтерфейсу модуля

 

Інтерфейс модуля це всі методи та поля, що будуть доступними користувачеві в процесі роботи з цим модулем. Щодо методів, то користувачу будуть доступними тільки сигнатури цих методів, тому, що реалізація методів є внутрішньою частиною модуля.

До інтерфейсу даного модуля можна віднести:

конструктор класу;

функція заповнення множини;

індексатор;

функція виводу множини;

функції оператори над множинами.

Конструктор класу викликається автоматично при створенні обєкта класу. Даному конструктору як параметр передається число цілочисельного значення.

Для заповнення множини цілими числами використовується функція „Input”. Цій функції передаються два параметри. Перший параметр це множина, яку пізніше функція буде заповнювати елементами, а другий це назва множини.

Індексатор створений для того, щоб користувач міг отримувати доступ до елементів множини, як при роботі з одновимірним масивом. Індексатору передається як параметр індекс елемента множини.

Для виводу множини на екран була перевизначена функція „ToString”.

Функції оператори над множинами:

оператор обєднання „+”. Так як оператор „+” є бінарним, то функція отримує два параметри. Перший параметр це множина, другий це також множина. Функція повертає значення результат виконання операції теж типу множини. Дана функція виконує обєднання двох переданих множин.

оператор перетину „*”. „*” бінарна операція, функції передається два параметри, дві множини. Функція повертає значення результат виконання операції теж типу множини. Дана функція виконує перетин двох переданих множин.

оператор різниці „”. Ця функція отримує два параметри. Перший параметр це множина, другий це також множина. Функція повертає значення результат виконання операції теж типу множини. Дана функція виконує різницю двох переданих множин.

оператор симетричної різниці „^”. Так як „^” бінарна операція, то функції передається два параметри, дві множини. Дана функція виконує симетричну різницю двох переданих множин. Функція повертає значення результат виконання операції теж типу множини.

оператор перевірки належності елемента множині „/”. Так як „/” бінарна операція, то функції передається два параметри множина та ціле число. Дана функція виконує перевірку належності заданого елемента множині. Функція повертає значення результат виконання операції булеву змінну.

Всі оператори є статичними функціями, так як в С# оператор зобовязаний бути статичним.

 

4 Проектування внутрішньої структури модуля

 

Внутрішня частина модуля складається з методів та полів, що є не доступними для користувача в процесі роботи з цим модулем.

До вну