Сравнение СЧА может быть выполнено с помощью блока TEST (ПРОВЕРИТЬ).
Его формат:
TEST X А,В[,С]
Таблица 4.43
Операнд | Значение | Результат по умолчанию | ||
А | СЧА | Ошибка | ||
В | СЧА | Ошибка | ||
С | Имя блока, в который переходит транзакт при условии, что ответ на вопрос, подразумеваемый оператором отношения, отрицательный | При отсутствии операнда С проверку выполняют в режиме отказа | ||
X | Вспомогательный оператор, который представляет собой оператор отношения, использующийся при проверке | |||
Значение оператора отношения: | Вопрос оператора отношения: | |||
G | А больше В? | |||
GE | А больше или равно В? | |||
Е | А равно В? | |||
NE | А не равно в? | |||
LE | А меньше или равно В? | |||
L | А меньше В? | |||
Операнды А и В - имена СЧА, которые сравниваются. Вспомогательный оператор X указывает способ сравнения этих двух СЧА друг с другом.
Пример 4.40
Режим отказа
TEST LE Q1,Q2
Проверяющий транзакт будет задержан в предыдущем блоке до тех пор, пока длина первой очереди не станет меньше или равна длине второй очереди.
Пример 4.41
Режим условного перехода
TEST LE Q1,Q2,ZHVS
Проверяющий транзакт перейдет в следующий по порядку блок, если содержимое первой очереди меньше или равно содержимому второй очереди. Если это условие не выполняется, транзакт перейдет в блок с меткой ZHVS.
Пример 4.42
TEST L F$SCANNER,X$MAX_UTIL,LLL
SEIZE SCANNER
LLL QUEUE QSCANNER2
Если устройство SCANNER имеет коэффициент загрузки меньше, чем значение сохраняемой величины MAX_UTIL, то транзакт идет на обслуживание этим устройством, в противном случае -переходит к блоку с меткой LLL.
Пример 4.43
Пусть в точке модели DISPATCHER необходимо удалить те транзакты, которые находились в модели больше, чем 100 ед. модельного времени. Для этого в модели можно использовать такие блоки:
GENERATE 18,6
DISPATCHER TESTL Ml,100,KILL
KILL TERMINATE
Задание для самостоятельной работы:
1. В отделе универсама есть две кассы. Покупатели становятся в очередь в ту кассу, у которой меньше очередь. Напишите фрагмент программы для этой ситуации.
2. Первые четыре часа работы парикмахерской клиенты обслуживаются одним мастером, следующие четыре - другим. Напишите фрагмент модели для этой ситуации.