GPSS World, имитационное моделирование

Необходимо реализовать программу на языке GPSS, решающую следующие задачи:

  • пользователи Q1...Q5 приходят каждые 3*i секунд, i - порядковый номер пользователя
  • обработка длится 8 секунд
  • смоделировать 180 секунд (столько длится 1 цикл)
  • есть стек (хранилище, очередь) размером до 2 пользователей по каждому индексу (2 Q1, 2 Q2 и т.д.)
  • сделать выборку сначала по времени прибытия пользователя в стек
  • потом по индексу пользователя Q5 > Q4 > Q3 > Q2 > Q1 (1 или 3 и т.д.)

Например, ЭВМ освободилась и в очереди имеем Q1(12 sec) и Q2(12 sec), где в скобках - время прибытия в очередь. Сначала сравниваем время - оно одинаковое, иначе бы выбрали тот вариант, где наименьшее, затем сравниваем порядковый пользователя ( Q2 имеет больший приоритет, чем Q1).

прикрепляю безуспешные наработки:

och1 STORAGE 2
och2 STORAGE 2
och3 STORAGE 2
och4 STORAGE 2
och5 STORAGE 2
GENERATE 3,,,,1
ENTER och1
TEST E S$och1,1
LL TEST E S$och2,1
LQ TEST E S$och3,1
LW TEST E S$och4,1
YY TEST E S$och5,1
SEIZE PROD
LEAVE och1
ADVANCE 8
RELEASE PROD
TERMINATE
GENERATE 6,,,,2
ENTER och2
TRANSFER ,LL
GENERATE 9,,,,3
ENTER och3
TRANSFER ,LQ
GENERATE 12,,,,4
ENTER och4
TRANSFER ,LW
GENERATE 15,,,,5
ENTER och5
TRANSFER ,YY
GENERATE 180
TERMINATE 1
START 1

Ответы (0 шт):