CONSULTANT STORAGE Количество консультантов SMOTR STORAGE Количество о

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
CONSULTANT STORAGE 5 ; Количество консультантов
SMOTR STORAGE 2 ; Количество осмотрщиков
GENERATE 20,10 ; Время появления клиента
TEST L Q$STANDING,15,FAIL ;?? len(STANDING) < 15
QUEUE STANDING ; Очередь на консультацию
ENTER CONSULTANT ; Вход на консультацию
TRANSFER ALL,CON1,CON5,3 ; Ищем свободного консультанта
CON1 SEIZE CONS1 ; Если первый свободен, заходим
ASSIGN 1,CONS1 ; Зафиксировали его взглядом
TRANSFER ,TALK ; Идём на консультацию
CON2 SEIZE CONS2 ; Если второй свободен, заходим
ASSIGN 1,CONS2 ; Зафиксировали его взглядом
TRANSFER ,TALK ; Идём на консультацию
CON3 SEIZE CONS3 ; Если третий свободен, заходим
ASSIGN 1,CONS3 ; Зафиксировали его взглядом
TRANSFER ,TALK ; Идём на консультацию
CON4 SEIZE CONS4 ; Если четвёртый свободен, заходим
ASSIGN 1,CONS4 ; Зафиксировали его взглядом
TRANSFER ,TALK ; Идём на консультацию
CON5 SEIZE CONS5 ; Если пятый свободен, заходим
ASSIGN 1,CONS5 ; Зафиксировали его взглядом
TALK DEPART STANDING ; Выход из очереди
ADVANCE 10,5 ; Консультация
RELEASE P1 ; Покидаем консультанта
LEAVE CONSULTANT ; Ушёл от консультанта
TRANSFER .350,HOME,NEXT ; 35% идут на осмотр
NEXT QUEUE SITTING ; Садится, занимает очереь на осмотр
ENTER SMOTR ; Вход на осмотр
TRANSFER ALL,SMR1,SMR2,3 ; Высматриваем дверь
SMR1 SEIZE SMTR1 ; Если первый свободен, заходим
ASSIGN 1,SMTR1 ; Зафиксировали её взглядом
TRANSFER ,OSMOTR ; Идём на осмотр
SMR2 SEIZE SMTR2 ; Если второй свободен, заходим
ASSIGN 1,SMTR2 ; Зафиксировали её взглядом
OSMOTR DEPART SITTING ; Выход из очереди
ADVANCE 30,10 ; Осмотр
RELEASE P1 ; Покидаем осмотрщика
LEAVE SMOTR ; Покидает смотровую
TRANSFER ,HOME ; Идёт домой
FAIL QUEUE UGLY ;!! Недовольные клиенты
HOME TERMINATE 0 ; Умирает
GENERATE 480 ; Рабочий день countMinute = 8*60 = 480
TERMINATE 1 ; countMinute--
START 5 ; 5 дней