Демонстрация иерархии классов - Программирование, компьютеры и кибернетика курсовая работа

Демонстрация иерархии классов - Программирование, компьютеры и кибернетика курсовая работа



































Реализация абстрактных методов демонстрации иерархии классов: постановка задачи, имитирующей жизнь двух племен муравьев, создание класса-родителя "муравей", определяющего методы и свойства, которые унаследуют потомки. Программное и аппаратное обеспечение.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Реализовать программу, демонстрирующую:
Работу с этой иерархией на основе задачи, имитирующей жизнь двух племен муравьев.
Для решения данной задачи необходимо создать абстрактный класс-родитель «муравей», определяющий методы и свойства, которые унаследуют потомки. Далее, в зависимости от того какую функцию выполняет тот или иной наследник - «муравей», реализация абстрактных методов будет различной. В данном случае понадобится 4 вида муравьев: «муравей-рабочий», «муравей-воин», «матка», «личинка». Класс «личинка» специфичен тем, что по истечении некоторого времени экземпляр этого класса преобразуются в один из видов «муравьев».
Для удобства работы с «племенем муравьев», как структурной единицей, создается класс-контейнер, содержащий массив и набор методов для имитации жизни муравейника.
Данная программа реализована в визуальной среде программирования Visual Studio на языке C+ в графическом режиме. Выбор этот обусловлен тем, что в данном языке присутствуют все необходимые средства для реализации задачи, а так же требованиями учебной дисциплины «Объектно-ориентированные технологии».
В качестве аппаратной среды используются ПК типа IBM PC. Системные требования:
операционная система Windows 2000/XP/Vista/7,
размеры свободного дискового пространства зависят от размера обрабатываемых файлов.
При запуске программы пользователь видит главную форму программы, которая содержит две кнопки Запустить и Остановить, а также компонент TextBox для вывода информации о муравейниках на экран. Также на форме присутствует невизуальный компонент типа Timer (рис. 1):
Для запуска процесса имитации пользователь нажимает на кнопку Запустить. В этот момент запускается таймер, у которого срабатывает событие Tick. В теле обработки события информация по обоим племенам выводится в TextBox. Каждый Tick таймера это отдельный день имитации (рис. 2):
Жизнь в муравейнике будет продолжаться до тех пор, пока в каждом из племен есть хотя бы один муравей, либо можно нажать кнопку Остановить (рис. 2), программа приостановится и пользователь, например, сможет более детально изучить результаты работы программы (рис. 3):

В программе используются следующие классы
//основная функция каждого вида муравья
//для личинок поле days указывает время через которое вылупится
public Larva(Random rnd_1): base(rnd_1)
//переопределение родительского метода
public Worker(Random rnd_1): base(rnd_1)
//вклад муравья в запасы муравейника
public Soldier(Random rnd_1): base(rnd_1)
//каждый муравей-воин вносит вклад в общую победу
public Female(Random rnd_1):base (rnd_1)
//список названий всех видов для более компактного рандомного
//порядковый номер матки в списке m_ants
//read-only свойство поля m_provisions
//read-only свойство кол-ва муравьев
//добавление в муравейник n муравьев случайного вида
//бой, на выходе общее число очков, заработанных кажыдй муравьем
//проверка оставшегося кол-ва дней для каждого муравья
//удаление n из списка муравьв, героически погибших в бою с другим муравейником
Так как мы используем TextBox для вывода процесса жизни муравьев, то у пользователя может возникнуть желание изменить данные в результирующем поле (рис. 5).
Рис. 5. Предотвращение ввода пользователем в результирующее поле
В результате проделанной работы была реализована программа, демонстрирующая:
Работу с этой иерархией на основе задачи, имитирующей жизнь двух племен муравьев
//основная функция каждого вида муравья
public Worker(Random rnd_1): base(rnd_1)
//вклад муравья в запасы муравейника
//для личинок поле days указывает время через которое вылупится
public Larva(Random rnd_1): base(rnd_1)
//переопределение родительского метода
public Female(Random rnd_1):base (rnd_1)
public Soldier(Random rnd_1): base(rnd_1)
//каждый муравей-воин вносит вклад в общую победу
public partial class AntForm : Form
//создание двух экземпляров абстрактного класса
private void btnStart_Click(object sender, EventArgs e)
private void btnStop_Click(object sender, EventArgs e)
//обработка события Tick компонента Timer
private void timer1_Tick(object sender, EventArgs e)
textMemo.AppendText("Наступил " + i + " день\n");
textMemo.AppendText("Сегодня в муравейнике Красных- " +
Red.Count.ToString() + "; Черных- " + Black.Count.ToString() + "\n");
textMemo.AppendText("Закрома увеличились у Красных на- " +
Red.Work().ToString() + "; у Черных- " + Black.Work().ToString() + "\n");
textMemo.AppendText("Общее кол-во припасов у Красных- " +
Red.Provisions.ToString() + "; у Черных- " + Black.Provisions.ToString() +
//в зависимости от разницы r и b, в каждом муравейнике
//погибнет определенное кол-во муравьев
double k = f / (10 * Red.Count - Black.Count);
deadsBlack = (int)(2*k * Black.Count);
double k = f / (10 * Black.Count - Red.Count);
deadsBlack = (int)(k * Black.Count);
textMemo.AppendText("Стычка двух племен закочилась потерями у
Красных- " + deadsRed.ToString() + " муравьев; у Черных- " +
textMemo.AppendText("Муравьев вылупилось из личинок у Красных- "
+ Red.DayPass(out deadsRed).ToString() + "; у Черных- " +
Black.DayPass(out deadsBlack).ToString() + "\n");
textMemo.AppendText("Умерло собственной смертью у Красных" +
deadsRed.ToString() + " ; у Черных- " + deadsBlack.ToString() + "\n");
textMemo.AppendText("Родилось новых личинок у Красных- " +
Red.NewAnts().ToString() + "; у Черных- " + Black.NewAnts().ToString()
Разработка структуры класса "Экран курсового проектирования", которая будет основой для хранения информации о студентах, выполняющих курсовые работы. Реализация визуального приложения для тестирования иерархии классов на языке программирования С++. курсовая работа [3,3 M], добавлен 18.03.2011
Классы и свойства объектно-ориентированного пространства. Методика создания новых классов в delphi: выбор родительского класса, изменение существующих компонентов, создание подклассов для элементов управления windows. Создание новой ветви классов. контрольная работа [13,0 K], добавлен 07.07.2012
Ознакомление с программой проведения сборки компьютера из деталей, имеющихся в базе данных. Рассмотрение правил создания иерархии классов. Описание основных методов и пользовательского интерфейса. Изучение системных требований и текстов основных классов. курсовая работа [710,2 K], добавлен 26.07.2014
Общие и отличительные черты объектов, связь между ними. Принципы организации иерархии и понятия объектно-ориентированной парадигмы программирования. Анализ предметной области, определение абстрактных типов данных, проектирование классов и коллекций. курсовая работа [2,1 M], добавлен 11.03.2016
Разработка иерархии классов, содержащей не менее трех уровней. Определение базовых и производных классов. Анализ технического задания. Проектирование структуры программы и базовых алгоритмов. Программная реализация разработанной структуры и алгоритмов. курсовая работа [34,9 K], добавлен 11.01.2011
Проектирование программного продукта для использования в организации учета медикаментов в аптеке. Построение функциональной модели автоматизированной системы; разработка и тестирование иерархии классов в соответствии с объектно-ориентированным подходом. курсовая работа [1,5 M], добавлен 21.02.2013
Принципы написания консольных приложений на языке Java в среде Eclipse. Составление программы завтрака на основе списка продуктов, передаваемых в качестве параметров в командной строке. Создание пакета для классов, интерфейса, базового класса иерархии. лабораторная работа [1,2 M], добавлен 01.05.2014
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Демонстрация иерархии классов курсовая работа. Программирование, компьютеры и кибернетика.
Сочинение Мои Друзья 1 Класс
Контрольная Работа На Тему Взимание Таможенных Пошлин
Сочинение На Тему Зачем Нужны Инвалиды
Контрольная работа: по Менеджменту 27
Реферат: Партийные системы и политические партии
Билеты: Валютный курс и факторы, его определяющие
Курсовая работа: Рейтингова система CAMEL. Скачать бесплатно и без регистрации
Реферат На Тему Экстрапирамидная Система Мозжечок Неврология
Курсовая работа по теме Схема построения "Отчета о прибылях и убытках"
Реферат: Идеи народовластия и государственности в истории политической мысли Украины. Скачать бесплатно и без регистрации
Контрольная работа: Роль старшего воспитателя в создании условий для самостоятельной художественно-творческой деятельности детей и руководство работой воспитателей
Контрольная работа по теме Иммитационное моделирование работы магазина
Контрольная Работа По Литературе Коровина
Сочинение Описание Внешности Человека 7 Класс Друга
Реферат по теме Стратегии ценообразования в условиях олигополии
Оформление Литературы По Госту 2022 Курсовая
Реферат по теме Естественные универсальные средства профилактики заболеваний и оздоровления организма
Реферат: Минеральная питательность кормов
Контрольная Работа По Алгебре Жохов
Реферат по теме Источники права Древней Руси
Поступление на службу и способы замещения должностей - Государство и право курсовая работа
Индивидуальные, половые и возрастные особенности костей черепа - Медицина презентация
Документационное обеспечение управления на предприятии - Менеджмент и трудовые отношения курсовая работа


Report Page