Материал: Використання технологій об’єктно-орієнтованого програмування для розробки схеми життя лісного біому

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Використання технологій об’єктно-орієнтованого програмування для розробки схеми життя лісного біому

ДВНЗ «ДОНЕЦЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСІТЕТ»

КАФЕДРА СИСТЕМ ШТУЧНОГО ІНТЕЛЛЕКТУ











КУРСОВИЙ ПРОЕКТ

з «Об’єктно-орієнтоване програмування»

на тему: «Використання технологій об’єктно-орієнтованого програмування для розробки схеми життя лісного біому»

Студента (ки) __3__ курса СШІ-11 _ групи

Напрям підготовки ____6.050103 _______

спеціальності __________05010301 ______

Домбровський Д.О

Керівник ______доцент каф. СШІ ____

Бабаков Р.М


м. _Донецк_ - 2013 год

ТЕХНІЧНЕ ЗАВДАННЯ

Варіант завдання

Тема курсової роботи - «Використання технологій об’єктно-орієнтованого програмування для розробки схеми життя лісного біому». У умовному лісі існують два типи тварин - вовки та зайці. Головна мета для вовків: помножувати свою кількість та вести полювання на зайців, для втомування голоду. Головна мета для зайців: помножувати свою кількість та не потрапляти до вовків.

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

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

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

Також існує поняття голод. Він реалізований для класу вовки, та не реалізований для класу зайців. Це обумовлюється тим, що хижаки не можуть полювати одне на одного, тому їх популяція повинна також мати параметри для урівноваження. Після вдалого полювання параметр голоду знижається, і вовк може продовжувати свою діяльність.

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

План роботи

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

Таблиця 1- Дати проміжних звітних періодів за видом роботи

Дата

Найменування етапу

30.09.013

Розробка алгоритмічної частини

15.10.2013

Розробка ієрархії класів

15.11.2013

Реалізація класів

30.11.2013

Розробка інтерфейсу користувача

15.12.2013

Тестування програмного забезпечення

10.04.2013

Оформлення пояснювальної записки

19.12.2013

Захист курсового проекту


Курсовий проект повинен бути розроблений на підставі таких документів, як: методичні вказівки з оформлення студентських робіт, ДСТУ ГОСТ 7.1:2006.

Додаткові вимоги

Вибір засобів розробки

Програма імітації лісного біому повинна бути реалізована з використанням мови програмування С++. Мова програмування С++ зручна для розробки тим, що дає можливість використовувати технологію об’єктно-орієнтованого програмування. Мова С++ розрахована і для консольних проектів, що можуть виступати у якості «двигуна» інших програм.

Вимоги до організаційного забезпечення

-       програмна документація має налічувати наступні документи: пояснювальна записка; технічне завдання, екранні форми, тексти програм;

-       для вдалого функціонування програмної розробки необхідно скопіювати файл з розширенням *.exe на комп’ютер на якому буде проводитися тестування користувачів;

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

Вимоги до технічного забезпечення

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

-       процесор - Intel Pentium III 1 Ghz;

-       оперативна пам’ять - 64 Mb RAM;

-       жорсткий диск - 1 Gb HDD;

-       клавіатура;

-       монітор.

Розробник



Домбровський Д.О.


(підпис)


(П.І.Б.)

Керівник



доцент, Бабаков Р.М.


(підпис)


(посада, П.І.Б.)


РЕФЕРАТ

Пояснювальна записка: 40 с., 11 рис., 0 табл., 23 джерел

Об'єктом розробки є лісовий біом з природним балансом між ними.

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

Для досягнення цієї цілі були застосовані такі методи й технології, як: об’єктно-орієнтоване програмування засобами C++.

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

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

Програмний продукт був розроблений згідно з вимогами та реалізований у середовищі Visual Studio 2010. Було розроблено пояснювальну записку.

ЗМІСТ

. Аналіз предмета розробки

2. Розробка алгоритмічної частини

3. Розробка програмної частини

. Розробка інтерфейсу програми

Висновок

Перелік використаної літератури

Додаток А. Лістинг програми

ВСТУП

Об'єктно-орієнтоване програмування (ООП) - парадигма програмування, в якій основними концепціями є поняття об'єктів і класів. Об'єктно-орієнтоване програмування - це методика розробки програм , в основі якої лежить поняття об'єкта , як певної структури , яка описує об'єкт реального світу , його поведінку. Завдання, яке вирішується з використанням методики ООП , описується в термінах об'єктів і операцій над ними , а програма при такому підході являє собою набір об'єктів і зв'язків між ними.

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

Актуальність об'єктно-орієнтованого програмування полягає в тому, що систематичне застосування засобів ООП дозволяє розробляти добре структуровані, надійні в експлуатації програмні системи, що досить просто модифікуються. Цим пояснюється інтерес програмістів до об'єктно-орієнтованого підходу і об'єктно-орієнтованим мовам програмування.

Важливість дисципліни «Об’єктно-орієнтоване програмування» полягає в тому, що вивчення даної дисципліни дозволяє сформувати базові поняття об'єктно-орієнтованого програмування, отримати навички застосування засобів об’єктно-орієнтованого програмування при вирішенні прикладних завдань, розвити системне мислення.

Актуальність ООП як дисципліни полягає в тому, що підготовка спеціалістів в галузі систем штучного інтелекту дозволить забезпечити потребу у фахівцях, що здатні розробляти та описувати засобами об’єктно-орієнтованого програмування для опису моделей реального світу та складних промислових систем, систем зі зворотнім зв’язком, які активно взаємодіють або управляються подіями фізичного світу і для яких ресурси часу і пам'яті обмежені, системи управління та контролю над реальними процесами, створення сайтів та ін.

Метою даної курсової роботи є розробка програми засобами об’єктно-орієнтованого програмування з використанням програмної мови С++, що виконує моделювання схеми життя лісового біому.

. АНАЛІЗ ПРЕДМЕТА РОЗРОБКИ

Об'єктом розробки є ліс (біом лісу) та життя тварин в ньому.

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

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

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

Ліси можна знайти в будь-якому регіоні, де природні умови придатні для сталого росту дерев, вище від рівня моря (а подекуди і нижче), до лінії альпійських лук, за винятком місцевостей, де природна частота вогнепалів надто велика, або середовище зазнає пресу з боку природних або антропогенних факторів (виїдання дикими або свійськими тваринами лісового підросту, вирубка людиною).

Загалом, лісам з домінуванням покритонасінних (широколистяним) притаманне помітно більше біорізноманіття, аніж лісам з домінуванням голонасінних (хвойним). Втім, з цього правила існують і винятки: так, осиково-березові лісові масиви у північних широтах мають нижчі показники біорізноманіття, ніж тамтешні хвойні ліси. Деякі ліси вміщують багато окремих видів дерев на незначній площі (наприклад, тропічні дощові ліси та листопадні ліси помірного поясу), а деякі всього кілька видів, що покривають значні території (гірські хвойні ліси). Будь-який ліс є біотопом, де мешкає багато видів тварин та рослин, і біомаса на одиницю площі є великою порівняно до інших рослинно-утворених співтовариств. Велика частина біомаси, при цьому, знаходиться під землею в кореневих системах та у вигляді частково перегнилого рослинного детриту.

Деревина лісів містить лігнін, котрий є речовиною, що розкладається відносно повільно у порівнянні з іншими органічними матеріалами - такими як целюлоза та крохмаль. Цим зумовлений відносно повільний (у порівнянні з іншими рослинними співтовариствами) кругообіг органічних речовин в лісі.

Найбільшими лісовими біомами є такі:

Дощові ліси (вологий тропічний ліс)

Тайга

Твердодеревинні ліси помірного поясу

Тропічні сухі ліси

. РОЗРОБКА АЛГОРИТМІЧНОЇ ЧАСТИНИ

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

2.1 Загальний алгоритм виконання програми

2.2 Алгоритм пересування по головному полю


2.3 Алгоритм полювання


. РОЗРОБКА ПРОГРАМНОЇ ЧАСТИНИ

Для розробки програми імітації були використані класи. Під час написання курсової роботи, класами були описані об’єкти та їх зв’язки, серед класів можна виділити:

-      Tree

-      Animal

Для створення двох основних класів вовк та заєць, використовується спадкування. Параметри класу Animal передаються в наступні класи:

-      Wolf

-      Rabbit

Клас Tree( Дерево ) налічує наступні члени та методи:

-       X, Y - ціла змінна, що означає розташування дерева. Визначається на початку програми, автоматично, в випадковому порядку. У конструкторі класу зазначена генерація цих параметрів.

Клас Animal (Тварина) налічує наступні члени та методи:

-      X, Y - ціла змінна, що означає розташування тварини. Визначається на початку програми, автоматично, в випадковому порядку. У конструкторі класу зазначена генерація цих параметрів.

-      Male - булева змінна, що означає стать тварини. У конструкторі класу зазначена генерація цих параметрів.

-      Year - ціла змінна, що означає стартовий та поточний вік тварини. У конструкторі класу зазначена генерація цих параметрів.

-      Hungry - ціла змінна, що означає параметр голоду тварини.

Ці параметри повністю наслідують два, все зазначених, класи. Логічним було б винести параметр Hungry з к класу Animal, та додати його до успадкованого класу Wolf, адже в програмі, голод використовується тільки для вовків. Але це дає змогу додати одну функцію, що може змінювати параметр голоду в зайців, і таким чином контролювати їх за допомогою рослинності на полі.

Глобальні функції програми:

-      void finding() - або пошук. Ця функція реалізує пошук всіх елементів на даній позиціі.

-      void move() - функція що реалізує переміщення всіх тварин на полі. Виконується кожного кроку.

-      void add(int k) - функція розмноження. Додає до списку вовків чи кроликів новий елемент. В якості параметру що передається у метод виступає кількість елементів що необхідно створити. Це необхідно для регулювання росту вовків та зайців, адже вовки більш витриваліші, ніж нащадки зайців, тому їх на раз народжується менше.