Файл: Створення програмного забезпечення для побудови геометричних фігур.rtf
Добавлен: 30.05.2026
Просмотров: 4
Скачиваний: 0
Створення програмного забезпечення для побудови геометричних фігур
РЕФЕРАТ
Об’єктом дослідження курсової роботи є створення програмного забезпечення для побудови геометричних фігур.
Метою даного курсової роботи є позбавлення користувача від рутинної роботи, такої як побудова геометричних фігур на папері самостійно, і надати йому отримувати потрібні фігури швидко та без будь-яких утруднень.
Поставлені цілі досягаються шляхом проектування та створення програмного забезпечення, що дозволяє автоматизувати процес побудови фігур.
В результаті виконання курсової роботи була створена та протестована програмне забезпечення, яка задовольняє усім вимогам поставленим до цієї програми.
В якості технічного засобу був використаний портативний персональний комп’ютер SAMSUNG R528, а в якості програмного засобу була використана програмна оболонка - С++ Builder 6.
Рекомендовано використовувати результати роботи на різних підприємствах де потрібно будувати різноманітні геометричні фігури.
КЛАС, ОБ’ЄКТ, ІНКАПСУЛЯЦІЯ, ПОЛІМОРФІЗМ, СПАДКУВАННЯ, ДІАГРАМА ІЄРАРХІЇ КЛАСІВ, ГЕОМЕТРИЧНІ ФІГУРИ.
ЗМІСТ
ВСТУП
1. ЗАГАЛЬНА ЧАСТИНА
2. СПЕЦІАЛЬНА ЧАСТИНА
2.1 Опис предметної області і постановка задачі
2.2 Аналіз та проектування системи
2.3 Опис програми
2.3.1 Перелік модулів
2.3.3 Блок-схеми
2.3.4 Опис класів
2.4 Керівництво користувача
3. РОЗРАХУНКОВА ЧАСТИНА
3.1 Вимоги до технічного забезпечення
3.2 Інструкція з використання програмного забезпечення
3.2.1 Виклик програми
3.2.2 Довідкові відомості про розроблене програмне забезпечення
ВИСНОВКИ
СПИСОК
ЛІТЕРАТУРИ
ВСТУП
В даний час, незважаючи на підвищення комп'ютеризації суспільства, у сфері побудови геометричних фігур, є багато програмних продуктів, що їх реалізує, але вони не в достатній мірі автоматизують цей процес. Однією з складових завдань можна розглядати проблему складання списку доступних фігур, які доступні для побудови, а так само оперативне коректування параметрів нових фігур при виникненні необхідності в цьому. Про своєчасність і актуальність даної проблеми говорить той факт, що при якісній побудові будь-яких геометричних фігур на папері витрачається багато часу. Відсутність пропозицій в даній сфері гарантують високу потребу в даному продукті. Програмні продукти складають в даний час основу комп'ютерного забезпечення усіх процесів, що входять практично в усі сфери людської діяльності. Як приклад, вони є ефективним засобом представлення геометричних фігур і маніпулювання ними.
Метою даної курсової роботи є аналіз предметної області «Побудова геометричних фігур», проектування і реалізація навчального програмного продукту у зазначеній предметній області. У якості програмного середовища для реалізації даного програмного продукту була використано середовище - C++ Builder 6. Дане середовище має дуже простий графічний інтерфейс, який дозволяє не тільки створювати прості, а й складні програмні продукти.
Дане програмне забезпечення повинна виконувати наступні призначення:
− забезпечувати отримання необхідної інформації о доступних геометричних фігурах;
− забезпечувати можливість заміни необхідної інформації вже побудованих фігур та її перебудова;
− забезпечувати можливість заміни вже побудованої фігури на нову;
− забезпечувати можливість редагування різних стилів заливки та товщини контурів.
Основні вимоги до розробленого продукту:
− коректність роботи;
− стійкість до великих обсягів проведених операцій.
При створенні такого програмного забезпечення воно займе важливе місце в сфері побудови геометричних фігур. При проектування використовувався точка зору користувача. Користувачам доступна можливість вибору необхідної фігури, зміни її параметрів, та отримання в кінцевому варіанті необхідну йому фігуру відображену на його моніторі. Дане програмне забезпечення може бути використана на будь-яких підприємствах, де необхідно будувати різноманітні геометричні фігури.
1. ЗАГАЛЬНА ЧАСТИНА
У якості програмного середовища для реалізації курсової роботи була використано C++Builder 6. Дане середовище має дуже простий графічний інтерфейс, який дозволяє не тільки створювати прості, а й складні програмні продукти. Вона має широкий спектр функцій для реалізацій різноманітних проектів. Деякі з цих функцій були використані при розробці програмного продукту.
Компоненти C++Builder 6 розділяються на видимі і невидимі. Візуальні компоненти з'являються під час виконання точно так само, як і під час проектування. Прикладами є кнопки і редаговані поля. Невізуальні компоненти з'являються під час проектування як піктограми на формі. Вони ніколи не видні під час виконання, але мають певну функціональністю.
Для додавання компонента у форму можна вибрати мишею потрібний компонент у палітрі та клацнути лівою клавішею миші в потрібному місці проектованої форми. Компонент з'явиться на формі, і далі його можна переміщати, міняти розміри та інші характеристики .
Кожен компонент C++ Builder 6 має три різновиди характеристик: властивості, події та методи.
Якщо вибрати компонент з палітри і додати його до форми, інспектор об'єктів автоматично покаже властивості та події, які можуть бути використані з цим компонентом. У верхній частині інспектора об'єктів є список, що випадає, що дозволяє вибирати потрібний об'єкт із наявних на формі.
2. СПЕЦІАЛЬНА ЧАСТИНА
.1 Опис предметної області і постановка задачі
Об’єктом дослідження курсової роботи є геометрична фігура.
Предметом дослідження даної курсової роботи є побудова фігур, зміна параметрів вибраних фігур, їх редагування та вразі потреби їх очистити.
В якості загальних властивостей геометричних фігур можна вважати введення координаті фігур, кольори заливки та контуру фігур, та товщина контуру.
В даній предметній області можна виділити наступний термінологічний словник[1]:) Окружність - геометричне місце точок площини, рівновіддалених від заданої точки, званої центром, на заданий ненульове відстань, зване її радіусом.
b) Трикутник - найпростіший багатокутник, що має 3 вершини (кута) і 3 сторони, частина площини, обмежена трьома крапками, і трьома відрізками, попарно з'єднують ці точки.) Прямокутник - це паралелограм, у якого всі кути прямі. Для його побудови потрібно знати координати крайньої лівої верхньої точки та крайньої правої нижньої точки прямокутника.) Еліпсом називається геометричне місце точок, сума відстаней від яких до двох заданих точок F1 і F2, званих фокусами еліпса, є величина постійна .) Багатокутник - це геометрична фігура, зазвичай визначається як замкнута ламана. Яка будується по окремій формулі та для її побудови потрібно знати відстань до зовнішньої, внутрішньої сторони та здвиг по діагоналі.) Лінія - протяжний і тонкий просторовий об'єкт; в переносному значенні - ланцюг пов'язаних один з одним об'єктів.
Також над фігурами можна виконувати наступні дії:
· В лінії можна змінювати кінцеве положення точки, змінити колір та товщину контуру.
· В колі можна змінювати розмір радіусу, змінити колір та товщину контуру, та колір заливки фігури .
· Еліпс можна розтягнути, змінити колір та товщину контуру, та колір заливки фігури .
· В багатокутнику можна також змінити його радіус, змінити колір та товщину контуру.
· Трикутник можна здвинути по діагоналі, змінити колір та товщину контуру.
· В прямокутнику можна змінити координати нижньої крайньої точки, змінити колір та товщину контуру, та колір заливки фігури .
Програмне забезпечення (ПЗ) має виконувати наступні функції:
. Можливість вибору потрібної фігури для побудови з списку можливих.
. Ведення доступних параметрів координат точок фігур, кольору заливки фігури та контуру, товщини контуру.
. Побудова раніше вибраної фігури по вже заданим параметрам.
. Редагування вже побудованої фігури.
. Заміна вже вибраної фігури на іншу, та її побудова.
В якості вихідного результату, користувач повинен отримати побудовану фігуру, яка буде задовольняти його запит.
Метою даної курсової роботи є позбавлення працівників рутинної роботи щодо побудови геометричних фігур самостійно, та надати швидке отримання зображення різноманітних фігур.
2.2 Аналіз та проектування системи
Наведемо опис системи, що моделює предметну область, в термінах об'єктно-орієнтованого підходу[4]:
Об’єкт (object) - це обмежена сутність, що характеризується своїм станом і поведінкою. Об’єкт є екземпляром класу, який описує усю множину суб’єктів даного типу, тобто об’єктів з таким же станом і поведінкою.
Тип class (клас) описує множину однотипних об’єктів з одними й тими ж даними і функціями, тобто мають загальний стан і поведінку. За допомогою class програміст описує спільно дані і дії над цими даними.
Конструктор (constructor) - це функція класу, основне призначення якої є в ініціалізації значень даних новостворюваного об’єкту. Ім’я конструктора завжди співпадає з іменем класу. Конструктор викликається кожного разу при створенні об’єкту. Клас може мати декілька перевантажених конструкторів. При створенні об’єкту застосовується той конструктор, параметри якого забезпечують встановлення потрібних навчальних значень даних цього об’єкту. Конструктор не має значення, яке повертається.
Інкапсуляція (encapsulation) - це процес розмежування елементів об’єкту, що визначають його влаштування та поведінку. Інкапсуляція забезпечується через закриття інформації про внутрішню структуру об’єкту, маскуванням внутрішніх деталей які явно не впливають на зовнішню поведінку.
Спадкування (inheritance) класів - це засоби отримання нових класів на базі існуючих. При цьому новий клас спадкує дані і функції з одного базового класу.
Поліморфізм (polymorphism) - це підхід, який реалізує ідею: один інтерфейс - багато методів. Тобто, різні об’єкти можуть мати методи з однаковим інтерфейсом, проте різним функціонуванням.
Провівши аналізу предметної область можна побудувати діаграму ієрархії класів за допомогою мови UML.
Рисунок 2.1 - Діаграма ієрархії класів
На основі готової ієрархії будуть зображені класи програми
мовою UML та їх опис, де «+» -
вказують на доступ public, «-» - вказують на доступ private. Опис класу
складається з трьох блоків. В першому вказується ім’я класу, в другому його
дані, а в третьому його методи.
Рисунок 2.2 - Клас TILO
На рис.2.2 зображені об’єкти класу TILO, мовою UML, який має закриті дані X і Y та відкриті функції setX, setY, getX, getY, FIGYRA, ZAGALNA, RIS, TILO, OKR. Цей клас вважається базовим для
побудови усіх фігур.
Рисунок 2.3 - Клас KOLO
На рис.2.3 зображені об’єкти класу KOLO, мовою UML, який має закрите дане R та відкриті функції setR, getR, FIGYRA, RIS, KOLO, OKR.
Цей клас спадкується від базового TILO. Цей клас використовується для побудови кола. Він використовує дані як з базового так і з власного, і вони мають наступні значення: Х та У - координати центру кола, R - радіус кола.
На рис.2.4 зображені об’єкти класу MNOGOUG, мовою UML, який має закрите дане Z та відкриті функції setZ, getZ, FIGYRA, RIS, MNOGOUG, OKR. Цей клас також спадкується від базового TILO. Він використовується для побудови многокутника. Він використовує дані як з базового так і з власного, і вони мають наступні значення: Z - зсув по діагоналі вниз, Х - відстань до зовнішньої сторони, У - відстань до внутрішньої сторони многокутника.
Рисунок 2.4 - Клас MNOGOUG
Рисунок 2.5 - Клас LINIJA
На рис.2.5 зображені об’єкти класу LINIJA, мовою UML, який має закриті дані X1 і Y1 та відкриті функції setX1, setY1, getX1, getY1, FIGYRA, RIS, LINIJA, OKR. Цей клас також спадкується від
базового TILO. Він використовується для
побудови лінії. Його дані мають наступні значення: Х та У - координати початку
лінії, Х1 та У1 - координати кінця лінії.
Рисунок 2.6 - Клас ELIPS
На рис.2.6 зображені об’єкти класу ELIPS, мовою UML, який має закрите дане Z1 та відкриті функції setZ1, getZ1, FIGYRA, RIS, ELIPS, OKR. Цей клас спадкуеться від класу KOLO, який в свою чергу спадкується від базового TILO. Він використовується для побудови еліпсу. Його дані мають наступні значення: Х - ліва крайня точка, У - верхня, Z1 - права крайня, R - нижня крайня.
На рис.2.7 зображені об’єкти класу PRJAMOUG, мовою UML, який має закрите дане P1 та відкриті функції setP1, getP1, FIGYRA, RIS, PRJAMOUG, OKR. Цей клас спадкується від класу ELIPS. Він використовується для побудови прямокутника. Його дані мають наступні значення: Х та У - координати верхньої крайньої точки, Х1 та У1 - координати нижньої крайньої точки прямокутника.
Рисунок 2.7 - Клас PRJAMOYG
Рисунок 2.8 - Клас TREYG
На рис.2.8 зображені об’єкти класу TREYG, мовою UML, який має закриті дані T2 і T3 та відкриті функції setT2, setT3, getT2, getT3, FIGYRA, RIS, TREYG, OKR. Цей клас спадкується від класу LINIJA. Він використовується для побудови трикутника. Його дані мають наступні значення: Х та У, Х1 та У1, T2 та T3 - утворюють попарно координати трьох вершин трикутника.
2.3 Опис програми
Для спроектованої системи розроблена програма яка складається з модулів.
2.3.1 Перелік модулів
Вихідний текст програми розміщене в трьох модулях (шести файлах) :
1) Unit1.h використовується для зберігання класа TForm1;
2) Unit2.h використовується для зберігання класа TForm2;
3) Unit3.h використовується для зберігання класа TForm3;
4) Unit1.cpp використовується для зберігання методів класу TForm1 з формою доступу описаного програмістом;
5) Unit2.cpp використовується для зберігання методів класу TForm2;
6) Unit3.cpp використовується для зберігання методів класу TForm3;
2.3.2 Алгоритми
Будь-яка функція натиску на функціональні кнопки головного та побічних вікон виконують одну з функцій зчитування форми та/або одну з функцій виводу в форму описаних в файлах з розширенням .сpp.
Спочатку відбувається зчитування вибору однієї з шести доступних фігур на першій формі. Далі відбувається передача інформації о виборі фігури в другу форму, де вона опрацьовується, і в результаті виводиться всі можливі поля введення вхідних даних фігури та усі дії над нею.
Також на основі даних з першої форми формулюються доступні параметри зміни в відображенні кольору фігури та товщини контуру її, яку можна викликати з другої форми при натиску на кнопку «РЕДАКТИРОВАНИЕ».
Розглянемо приклад побудови кола.
1) Зчитування з першої форми вибір фігури та передача цього значення за допомогою кнопки Button1Click(TObject *Sender).
2) Присвоєння числовим полям класу TREYG(float x,float y,float x1,float y1,float t2,float t3) значення координат вершин трикутника.
3) Побудова трикутника за допомогою методу ZAGALNA().
.3.3 Блок-схеми
Далі наведемо блок-схеми загальних методів класів, на
прикладу класу KOLO.
Рисунок 2.9 - блок-схема методу setR
Рисунок 2.10 - блок-схема методу getR
Рисунок 2.11 - блок-схема конструктору KOLO
Рисунок 2.12 - блок-схема методу RIS
Рисунок 2.13 - блок-схема методу OKR
.3.4 Опис класів
В даній курсовій були створені наступні класи: