ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.09.2024

Просмотров: 21

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Міністерство освіти і науки, молоді та спорту України

Сумський державний університет

Машинобудівний коледж

“Погоджено”

Глава циклової комісії спеціальності 5.05010101

______________________

“____”________________

“Затверджую”

Завідувач відділенням

спеціальності 5.05010101

______________________

“____”________________

КУРСОВА РОБОТА

З предмету _____“Об'єктно-орієнтоване програмування”________ _____________________________________________________

СПЕЦІАЛЬНІСТЬ 5.05010101

“Обслуговування програмних систем і комплексів”

ПОЯСНЮВАЛЬНА ЗАПИСКА

Тема:____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Студент

Група

Керівник проекту

__________________

__________________

__________________

__________________

__________________

2013

Зміст

1 Постановка задачі ……………………………………………………………………... 3

2 Алгоритм розробки програми ………………………………………………………... 4

3 Практична реалізація …………………………………………………………………. 5

3.1 Опис структури даних та вимоги до неї ………………………………………... 5

3.2 Опис стандартних функцій, що використовували у програмі ………………... 5

3.3 Опис функцій користувача …………………………………………………...…. 6

3.4 Опис файлів та їх призначення …………………………………………………. 7

4 Інструкції для роботи з програмою ………………………………………………….. 8

5 Приклади тестування та результати роботи програми …………………………….. 9

Висновки ………………………………………………………………………………... 14

Література ………………………………………………………………………………. 15

Додаток А ……………………………….…………………………………………….... 16


Додаток Б ……………………………….……………………………………………… 17

Додаток В ……………………………….……………………………………………… 21

Додаток Г ……………………………….……………………………………………… 22

Додаток Д ……………………………….……………………………………………… 23

Додаток Е ……………………………….……………………………………………… 24

Додаток Ж ……………………………….…………………………………………….. 25

Додаток З ……………………………….……………………………………………… 26

1 Постановка задачі

Практичне завдання

Створити програму для виконання основних математичних операцій над дробами: додавання, віднімання, множення, ділення, піднесення до степеню та порівняння дробів. Програма повинна мати функції для знаходження суми масиву дробів та для сортування масиву дробів. Для реалізації цієї задачі треба скласти опис класу «Дріб». Клас має містити методи, які забезпечують виконання поставлених завдань.

Програма повинна виконувати наступні завдання:

  • виконання основних математичних операцій (додавання, віднімання, множення, ділення, піднесення до степеню та порівняння дробів);

  • знаходження суми масиву дробів;

  • сортування масиву дробів.

Вимоги до програми

Програма повинна мати зручне меню для виконання поставлених завдань. Виконання завдань здійснюється шляхом вибору відповідного пункту меню. Основні пункти меню програми:

  • додавання;

  • віднімання;

  • множення;

  • ділення;

  • піднесення до степеню;

  • порівняння;

  • сума масиву дробів;

  • сортування масиву дробів.

Програма повинна здійснювати перевірку вхідних даних та допомагати користувачу в процесі роботи.

Виконання завдань повинно здійснюватися з використанням класів та функцій.

Всі функції повинні бути розміщенні у відповідних модулях.

2 Алгоритм розробки програми

1. Створити файли: основний файл з програмою, файли модулів для виконання поставлених та клас «Дріб».

2. В основному модулі реалізувати взаємодію допоміжних модулів та зручний інтерфейс користувача.

3. В модулі класу реалізувати функції для виконання поставлених задач:


3.1. Реалізувати функцію додавання дробів.

3.2. Реалізувати функцію віднімання дробів.

3.3. Реалізувати функцію множення дробів.

3.4. Реалізувати функцію ділення дробів.

3.5. Реалізувати функцію піднесення дробу до степеня.

3.6. Реалізувати функцію порівняння дробів:

  • порівняння дробів на рівність;

  • порівняння дробів більше/менше.

4. В файлах модулів реалізувати можливість виконання поставлених задач шляхом використання методів класу «Дріб».

3 Практична реалізація

3.1 Опис структури даних та вимоги до них

int a,b,c,d – змінні для дробів.

int e,f – допоміжні змінні для сортування масиву.

int count – розмірність масиву.

int i, j – лічильник циклів.

int FracMassiv[20][2] – масив дробів для сортування.

int check, rivn – змінні для отримання результатів порівняння дробів.

int p – змінна класу «Дріб» для чисельника.

int q - змінна класу «Дріб» для знаменника.

int a – змінна класу «Дріб» для цілої частини.

3.2 Опис стандартних функцій, що використовувалися у програмі

void __fastcall Form::FormCreate(TObject *Sender) – функція обробки події створення форми.

void __fastcall Form::ButtonClick(TObject *Sender) – функція обробки події натиснення на кнопку.

void __fastcall Form::EditKeyPress(TObject *Sender, char &Key) – функція обробки події вводу значення в поле.

AnsiString __fastcall IntToStr(int Value) – функція переведення типів.

AnsiString __fastcall FloatToStr(int Value) – функція переведення типів.

float __fastcall StrToFloat(AnsiString Value) – функція переведення типів.

int __fastcall IntToFloat(AnsiString Value) – функція переведення типів.

void __fastcall Show(TObject *Sender) – функція відображення форми на екрані.

void __fastcall Hide(TObject *Sender) – функція не відображення форми на екрані.

void __fastcall Hide(TObject *Sender) - функція закриття форми.

void __fastcall ShowMessage(AnsiString Value) – функція відображення повідомлення.


3.3 Опис функцій користувача

void AddFrac(int, int, int, int) – метод класу «Дріб» для виконання операції додавання.

void SubFrac(int, int, int, int) – метод класу «Дріб» для виконання операції віднімання.

void MultFrac (int, int, int, int) – метод класу «Дріб» для виконання операції множення.

void DivFrac (int, int, int, int) – метод класу «Дріб» для виконання операції ділення.

void PowFrac (int, int, int) – метод класу «Дріб» для виконання операції піднесення дробу до степеню.

void CheckFrac (int, int, int, int) – метод класу «Дріб» для виконання операції порівняння дробів більше/менше.

void RivnFrac (int, int, int, int) – метод класу «Дріб» для виконання операції порівняння дробів на рівність.

int GetP() - метод класу «Дріб» для отримання значення чисельника дробу.

int GetQ() - метод класу «Дріб» для отримання значення знаменика дробу.

int GetА() - метод класу «Дріб» для отримання значення цілої частини дробу.

int nod(int, int) - метод класу «Дріб», який використовується при скороченні дробу.

3.4 Опис модулів та їх призначення

FracUnit.h – модуль основної програми. Виводить вікно основної програми, яка об’єднує всі інші модулі та керує виконанням основної програми.

CalculateFrac.h – клас «Дріб», який містить дані дробу та методи для виконання поставлених задач.

SumUnit.h – модуль для виконання додавання двох дробів.

SubUnit.h - модуль для виконання віднімання двох дробів.

MultUnit.h - модуль для виконання множення двох дробів.

DivUnit.h - модуль для виконання ділення двох дробів.

PowUnit.h - модуль для виконання піднесення дробу до степеня.

CheckUnit.h - модуль для виконання порівняння двох дробів на відношення більше/менше.

RivnUnit.h - модуль для виконання порівняння двох дробів на рівнсть.

SortUnit.h – модуль для виконання сортування масиву дробів.

SumMasivUnit.h – модель для знаходження суми масиву дробів.

4 Інструкції для роботи з програмою

Для початку роботи запустіть файл FracProject.EXE, після на екрані з’явиться вікно програми, в верхній частині якої знаходиться меню. Для виконання завдань, виберіть відповідний пункт меню.

Пункти меню:


  1. Додавання дробів. Для множення двох дробів виберіть даний пункт меню. Введіть два дроби та натисніть «Обчислити». Для зміни значень натисніть «Очистити», для повернення до головної програми – «Вихід».

  2. Віднімання дробів. Для віднімання двох дробів виберіть даний пункт меню. Введіть два дроби та натисніть «Обчислити». Для зміни значень натисніть «Очистити», для повернення до головної програми – «Вихід».

  3. Множення дробів. Для множення двох дробів виберіть даний пункт меню. Введіть два дроби та натисніть «Обчислити». Для зміни значень натисніть «Очистити», для повернення до головної програми – «Вихід».

  4. Ділення дробів. Для ділення двох дробів виберіть даний пункт меню. Введіть два дроби та натисніть «Обчислити». Для зміни значень натисніть «Очистити», для повернення до головної програми – «Вихід».

  5. Піднесення дробів до степеня. Для піднесення дробу до степеню виберіть даний пункт меню. Введіть дріб і степінь та натисніть «Обчислити». Для зміни значень натисніть «Очистити», для повернення до головної програми – «Вихід».

  6. Порівняння дробів. Виберіть потрібний тип порівняння, введіть два дроби та натисніть «Обчислити». Для зміни значень натисніть «Очистити», для повернення до головної програми – «Вихід».

  7. Сума масиву дробів. Для знаходження суми масиву дробів виберіть даний пункт меню. Заповніть значеннями поле для масиву та натисніть «Обчислити». Для зміни значень натисніть «Очистити», для повернення до головної програми – «Вихід».

  8. Сортування масиву дробів. Для сортування масиву дробів виберіть даний пункт меню. Заповніть значеннями поле для масиву та натисніть «Обчислити». Для зміни значень натисніть «Очистити», для повернення до головної програми – «Вихід».