«Рисуем» общие черты
Для начала сразу определимся с некоторыми условиями:
- 1. Программа будет написана без графической составляющей (кроме GUI).
- 2. Для создания программы будем использовать ООП язык C++.
- 3. Среда для разработки Microsoft Visual Studio 2010 Professional Edition.
- 4. Тип проекта в данной среде: Windows Forms.
- 5. Общий класс, который будет отвечать за симуляцию и обработку данных, назовем Simulation.
За основу возьмем идею, использованную в методическом пособии «Программирование на языках высокого уровня» Р. Г. Шахмаметов, 2006 г., Новосибирск.
В работе аэропорта на данном уровне абстракции есть два основных события: посадка самолета и взлет самолета. Реализация всех структур и классов будет представлена отдельно (см. Приложение).
Необходимо разработать структуру Событие:
Тип события (посадка, взлет).
Время наступления события.
Продолжительность события.
Естественно очередь событий должна храниться в классе:
Очередь:
Элемент очереди (структура событие) Методы:
Самолет встал в очередь очереди.
Самолет покинул очередь.
Погодные условия следует представить отдельной структурой. Эта структура взята из наработок лабораторных работ. В дальнейшем, в программе будут введены коэффициенты соответствующему погодному явлению, которые будут влиять на продолжительность событий:
Погода:
Туман (нет, слабый, средний, сильный).
Осадки (нет, слабый, средний, сильный).
Ветер.
На входе, т. е. при создании экземпляра класса Simulation мы задаем:
- 1. Время работы аэропорта.
- 2. Интервал времени, через который будут прилетать самолеты.
- 3. Интервал времени нахождения самолета в аэропорту.
- 4. Погоду, которая будет влиять на время взлета и посадки (об этом позже).
Для получения случайных величин, будем использовать класс Random из упомянутого выше методического пособия. Этот класс был мною проверен и отлажен для корректной работы.
Приведем примерный прототип класса Simulation :
1. Данные:
a. Погодные условия.
b. Статус полосы (занята, свободна).
c. Период симуляции.
d. Очередь событий.
e. Счетчик ушедших на запасной аэродром.
2. Методы:
a. Запуск симуляции.
b. Печать результатов.
c. Установка значений.