46373 (630420), страница 2
Текст из файла (страница 2)
UPD: into(QUPD); comment занять очередь на УПД;
activate UPD1 delay 0; comment занять УПД;
passivate; comment ждать конца выполнения работы;
end;
into(QCOMP); comment занять очередь на ЭВМ;
activate COMP1 delay 0; comment занять ЭВМ;
passivate; comment ждать конца выполнения работы;
if rep=5 then comment если работу нужно повторить;
begin
rep:=1; comment сброс повторения;
goto UPD; comment перейти к УПД;
end;
histo(std,tim,time-tm,1); comment сохранить статистику;
MZCap:=MZCap-1; comment освободить место в зале;
STOP: comment завершение всех действий;
end STUDENT;
comment описание работы мини-ЭВМ;
PROCESS class COMP;
begin
ref (STUDENT) S; comment студент, занимающий место;
integer Nach; comment время начала простоя;
START: S:-QCOMP.first; comment первый студент в очереди;
S.out; comment покидает ее,;
hold(randint(5,25,C)/2); comment работает на ЭВМ;
activate S; comment и переходит к следующему действию;
Nach:=time; comment засечь время;
passivate; comment ждать следующего студента;
Pcomp:=Pcomp+(time-Nach)/2; comment увеличить время общего простоя;
goto START;
end;
comment описание работы УПД;
PROCESS class UPD;
begin ref (STUDENT) S; comment студент, занимающий УПД;
integer Nach; comment время начала простоя;
START: S:-QUPD.first; comment первый студент в очереди;
S.out; comment покидает ее,;
hold(randint(5,13,U)); comment работает на УПД;
activate S; comment и переходит к следующему действию;
Nach:=time; comment засечь время;
passivate; comment ждать следующего студента;
Pupd:=Pupd+time-Nach; comment вычислить общее время простоя;
goto START;
end UPD;
comment инициализация потоков случайных чисел;
M:=2;U:=1;C:=3;P:=4;
QUEUE:-new HEAD; comment создание очереди в машинный зал;
QUPD:-new HEAD; comment создание очереди на УПД;
QCOMP:-new HEAD; comment создание очереди на ЭВМ;
UPD1:-new UPD; comment создание УПД;
COMP1:-new COMP; comment создание ЭВМ;
comment установка временных интервалов гистограммы;
tim(1):=15; tim(2):=30; tim(3):=45; tim(4):=60;
tim(5):=75; tim(6):=90; tim(7):=105; tim(8):=120;
tim(9):=135;
comment создание и запуск генератора студентов;
activate new GENER;
hold(2880); comment моделирование работы системы в течение 48 часов;
comment вывод полученных значений;
outfix(1-Pupd/time,3,5);outimage; comment загрузка УПД;
outfix(1-Pcomp/time,3,5);outimage; comment загрузка ЭВМ;
outfix(Num,0,5);outimage; comment число ушедших студентов;
outfix(MAX,0,5);outimage; comment максимальная длина очереди;
outfix(Toz/(Num+Nmb),2,5);outimage; comment среднее время ожидания в очереди;
comment вывод распределения общего времени работы студентов в машинном зале;
for I:=1 step 1 until 9 do
begin
outint(tim(I),11); comment время работы;
outint(std(I),11); comment число студентов;
outimage;
end;
end












