Модель имитации замкнутой биологической системы (корм, травоядное, хищник) предназначена для изучения взаимодействия особей на основе случайных переменных, таких как место появления и направления движения каждой конкретной особи. В модели возможен ввод и сохранение позиций всех особей, для дальнейшего возвращения к имитации. Областью применения модели является исключительно исследование возможного взаимодействия видов без использования известных математических моделей.
Курсовая работа выполняется согласно учебному плану по направлению бакалавриата 09.03.03 «Прикладная информатика».
Целью учебной разработки стало создание программы, имитирующей модель замкнутой биологической системы (корм, травоядное, хищник), с использованием объектно-ориентированного программирования на языке C++.
Для достижения цели необходимо решить следующие задачи:
• Разработать программное средство, имитирующее взаимодействие нескольких видов и растения;
• Создать несколько классов и минимум 1 суперкласс;
• Прописать нужные для моделирования переменные, ввод которых будет производить пользователь;
• На основе переменных создавать поле с первыми объектами;
• Создать меню для пользователя;
• Выводить совершённые объектами действия и поле с самими объектами;
• Сделать возможность сохранять и загружать сессию моделирования.
В результате выполнения курсовой работы, было создана программа для моделирования замкнутой системы хищник-жертва-корм, также есть возможность сохранения модели. Данная программа написана на языке программирования C++, с применением основ ООП.
Если не использовать механизмы (полиморфизм, композицию, наследование и т. д.), а вместо этого применяете классы лишь для группировки функций и данных, то это не ООП. Любые описанные механизмы, принципы, как и ООП в целом не стоит применять там, где этого не требует ситуация. В проектировании не существует однозначных алгоритмов на все случаи жизни, где что применять уместно, а где неуместно.
Главная цель заключалась в закрепление знаний по разработке приложений с использованием принципов ООП на практике. Кроме всего вышеперечисленного в процессе разработки я смог получить основные теоретические знания по разработке модели и создания классов.
Мной изучено следующее:
• Практические знания ООП;
• Создание классов;
• Взаимодействие классов;
Основной функционал данного приложения готов, но помимо основного функционала, в дальнейшем есть возможность его доработать и улучшить.
В доработки входят такие пункты:
• Создание модели, работающей в реальном времени;
• Добавление графического интерфейса.
• Добавление большего количества переменных, вводимых пользователем, для более тонкой настройки модели.
1. Колебания системы хищник-жертва (модель Лотки-Вольтера) [Электронный ресурс] URL: https://studopedia.ru/8_188430_kolebaniya-sistemi-hishchnik-zhertva-model-lotki-voltera.html
2. Колмогоров А.Н. Качественное изучение математических моделей динамики популяций. // Проблемы кибернетики. М., 1972, Вып.5.
3. MacArtur R. Graphycal analysis of ecological systems// Division of biology report Perinceton University. 1971
4. В.Вольтерра: «Математическая теория борьбы за существование». М.. Наука, 1976
5. Gause G.F. The struggle for existence. Baltimore, 1934.
6. Основы объектно-ориентированного программирования -https://www.codeproject.com/Articles/22769/Introduction-to-Object-Oriented-Programming-Concep
7. Бретт, Маклафлин Объектно-ориентированный анализ и проектирование / Маклафлин Бретт. - М.: Питер, 2018. - 324 c.
8. Вайсфельд, Мэтт Объектно-ориентированное мышление / Мэтт Вайсфельд. - М.: Питер, 2019. - 387 c.
9. Маклафлин, Б. Объектно-ориентированный анализ и проектирование / Б. Маклафлин, Г. Поллайс, Д. Уэст. - М.: Питер, 2020. - 891 c.
10. Приемы объектно-ориентированного проектирования: Паттерны проектирования / Э. Гамма и др. - М.: Addison Wesley Longman, Inc., 2019. - 368 c.