Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Одиноков_Курсач.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
229.89 Кб
Скачать

2.3.1 Процедура планирования

Процедура планирования SCHDL имеет три формальных параметра: код планируемого события KEVNT, интервал свершения DTIME и массив атрибутов Аttrib.

Events – массив, содержащий календарь. Процедура начинается с записи планируемого события, в массив заносится код события и время его свершения. Далее вызывается процедура GRUP.

2.3.2 Сортировка записей в календаре

Для поддержания упорядоченности записей календаря, операции планирования и извлечения записи заканчиваются вызовом процедуры перегруппировки GRUP. Процедура GRUP является системной, без параметров. GRUP сортирует записи в файле календаря по возрастанию времени совершения события.

Если первая запись календаря не пуста, значит, процедура вызвана после планирования какого-то события и необходимо расставить записи по возрастанию их времени свершения (запланированное событие могло иметь любое время свершения). Для этого начинается сравнение времени свершения J-й записи с аналогичным параметром остальных записей и перемещение этой записи на нужное место календаря (массива Sob). Для чего осуществляется сортировка календаря по параметру DTime. После этого события в календаре располагаются по возрастанию времени свершения.

2.3.3 Процедура поиска алгоритма обработки события Event

В данной процедуре осуществляется поиск программы обработки события, код которого передан при обращении к процедуре Event.

2.3.4 Процедура инициализации

Структура этого модуля в основном определяется объектными (пользовательскими) условиями. Обязательными являются оператор задания начального имитационного времени и оператор планирования события. Также в данном модуле используется вызов модуля ЧП. Устанавливаются: время TNOW начала очередного прогона, номер прогона NRNS, т.е. мы задаём прогонные переменные. А также вызов процедуры планирования событий SCHDL.

В данной процедуре задаются следующие начальные условия:

- время начала имитации (Tnow:=Ttbeg);

- обнуление количества событий в календаре (NEvents:=0);

- обнуление количества клиентов в очереди (Och:=0);

- обнуление общего количества обратившихся (NP:=0);

- обнуление количества обслуженных клиентов (Obs:=0);

- обнуление флага обнаружения ЧС (Obsluz:=False);

2.3.5 Процедура Prihod

Данная процедура выполняет формирование данных о том, пришел ли посетитель на станцию или нет. Подсчитывает время наступления следующего события.

2.3.6 Процедура Obsluz

Процедура служит для обработки обслуживания посетителей лодочной станции.

2.3.7 Процедура СHP

Формирует появление ЧП с вероятностью, равной 0.005.

2.3.8. Процедура OUTPUTN

Рассматриваемая процедура формирует отчет по прогону. Полученные данные выводятся на экран и размещаются в файле OTCHET1.txt. В этой процедуре вычисляются:

- общее количество пришедших за прогон посетителей;

- общее количество обслуженных за прогон посетителей;

- наличие в прогоне ЧП.

2.3.9 Процедура OUTPUT

OUTPUT - процедура вывода итогового отчета. В данном отчете формируются следующие данные:

- общее количество пришедших посетителей за все прогоны;

- общее количество обслуженных за все прогоны посетителей;

- среднее количество пришедших посетителей за все прогоны;

- среднее количество обслуженных за все прогоны посетителей.

Все данные формируются за все прогоны. Результаты записываются в текстовый файл OTCHet2.txt.