![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Описание программы моделирования ⇐ ПредыдущаяСтр 10 из 10
Рассмотрим назначение каждой строки в приведенной ниже программе. 1.Начало самого внешнего блока программы. Описываются глобальные переменные, определяющие условия работы модели. 2. Задание конкретного значения переменной ТМОД. определяющей интервал времени, в течении которого моделируется работа магазина. 3. Задание начальных значений переменных, определяющих последовательности псевдослучайных чисел. 4. Начало блока с префиксом simulation, содержащего описание модели. Описываются ссылочные переменные КАССА и ОЧЕРЕДЬ для обозначения процесса отображающего кассира и набора, соответствующего очереди покупателей. 5-7.Декларации классов КАССИР, ПОКУПАТЕЛЬ, ГЕНЕРАТОР ПОКУПАТЕЛЕЙ. Создание головы набора ОЧЕРЕДЬ. 9. Создание процесса класса КАССИР с временем расчета за одну покупку равным 0.5 минут. Присваивание созданному процессу имени КАССА. 10. Создание генератора покупателей и планирование его первой активной фазы на нулевой момент системного времени вслед за текущей активной фазой главной программы, планирование начала работы кассира. Данная строка завершает подготовку модели к работе: созданы процессы, отражающие исходное состояние моделируемой системы, и запланировано начало их работы. 11. Задержка дальнейшего исполнения главной программы на время ТМОД. Центральное управление переходит на процесс класса ГЕНЕРАТОР ПОКУПАТЕЛЕЙ, а локальное управление главной программы устанавливается на строку 12. Теперь работа программы вплоть до момента времени ТМОД будет состоять во взаимодействии процессов, отображающих покупателей, приходящих в магазин, и кассира, выполняющего расчет с покупателями. 12. Вывод результатов моделирования. В результате исполнения приведенных операторов будет напечатана следующая строка (в предположении, что кассир простаивал 45 мин.30 с.). ПРОСТОЙ КАССИРА = 45.30 13. Конец блока с префиксом simulation. При выходе управления, через этот символ end моделирование прекращается независимо от того, есть ли в управляющем списке уведомления о запланированных, но еще не исполненных событиях. 14.Конец симула - программы, возврат управления в операционную систему. Программа моделирования работы магазина: 1 begin real ТМОД; integer vl, v2, v3; 2 ТМОД: =480; vl: =l; v2: =2; v3: =3; 3 simulation begin ref (КАССИР) КАССА; ref (head) ОЧЕРЕДЬ; 4 process class ПОКУПАТЕЛЬ(ТПОК, КП);........; 5 process class КАССИР;......................; 6 process class ГЕНЕРАТОР....... 7 ОЧЕРЕДЬ: - new head: 8 КАССА: -new КАССИР(0.5); 9 activate new ГЕНЕРАТОР ПОКУПАТЕЛЕЙ delay О; 10 activate КАССА delay О; hold (ТМОД); 11 outtext (‘ПРОСТОЙ КАССИРА =’); 12 outtext(KACCA.ПPOCTOЙ, 2, 10); 13 end; 14 end.
|