Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Проверка числовых выражений

Сохраняемые величины

В GPSS пользователю предоставляется возможность задать «свои» глобальные переменные, значения которых должны быть заданы перед моделированием и к которым можно обратиться из любого места модели и в любой момент. Их называют сохраняемыми величинами (ячейками). А совокупность логически связанных ячеек может образовывать матрицу.

СЧА Хj или X$ <имя> дает значение соответствующей сохраняемой величине. Например, Х2 – значение ячейки или X$ sag – значение ячейки sag.

С матрицами связан числовой атрибут MXj (m, n) – значение, записанное в строке m и столбце n матрицы j. Или MX$ <имя матрицы > (m, n), если матрица имеет символьное имя перед использованием матрица определяется оператором описания matrix.

Начальные значения ячеек и матриц можно задать с помощью оператора initial. Оператор описания matrix g появляется до момента использования матрицы так как и инициализация переменных.

Формат блока initial: Initial А, В, где

А - имя сохраняемой величины; В – начальное значение.

Примеры.

1) X$ timer, 100000 - ячейке timer присваивается начальное значение 100000.

2) initial Х 3, 25 – ячейке с № 3 присваивается значение 25.

3) initial МХ 8 (2,4), - 54 - Величина (– 54) записывается во вторую строку, столбец 4 матрицы 8.

4) Initial MX$ cost (26), 100 - Величина 100 записывается в строку 2, столбец 6 матрицы cost.

 

Значение сохраняемой величины изменяется при входе транзакта в блок

saveralue A [+, -], B, где

А – номер или имя сохраняемой величины;

В – величина, используемая для модификации.

Примеры.

1) saveralue p 5, V$ alpha - при входе транзакта в блок saveralue сначала вычисляется величина переменной alpha, а полученный результат присваивается сохраняемой величине, номер которой записан в параметре Р5.

2) saveralue 5+, х2 - при входе транзакта в этот блок величина х5 увеличивается на значение величины х2.

3) saveralue prof-, fn$ costol - при входе транзакта в блок сохраняемая величина х$ prof уменьшается на значение функции fn$ costol.

 

Для описания матриц используется оператор <метка> matrix А, В, С, где

А – не используется, оставлен для совместимости с более ранними версиями GPSS;

В – число строк матрицы (целое число);

С – число столбцов матрицы (целое положительное).

 

Для записи значения матрицы и для изменения ее элементов используется оператор msavevalue A [+, -], В, С, D, где

А – имя матрицы; В – номер строки; С – номер столбца; D – величина, используемая для модификации.

 

Сравнить СЧА можно с помощью блока test_X_А, В, С, где

Х – вспомогательный оператор отношений, который может принимать значения:

g A > B ne A ≠ B

ge A ≥ B le A ≤ B

e A = B l A < B

A – СЧА, В – СЧА, С – имя блока, в который переходит транзакт при условии, что ответ на вопрос, подразумеваемый оператором отношения, отрицательный. При отсутствии операнда С проверку выполняют в режиме отказа.

Примеры.

1) test le Q1, Q2 - проверяющий транзакт будет задержан в предыдущем блоке до тех пор, пока длина очереди не станет меньше или равна длине второй очереди.

2) режим условного перехода: test le_Q1, Q2, zhvs

- проверяющий транзакт перейдет в следующий по порядку блок, если содержимое первой очереди меньше или равно содержимому второй очереди. Если это условие не выполняется, транзакт перейдет в блок с меткой zhvs.

3) test l f$ scaner, x$ max – util, lll

seize scanner

……

Lll queue Q scaner

Если устройство scaner имеет коэффициент загрузки меньше, чем значение сохраняемой величины max util, то транзакт идет на обслуживание этим устройством. В противном случае переходит в устройство с меткой Lll.

4) пусть в точке перехода dispatcher необходимо удалить те транзакты, которые находились в модели больше чем 100 единиц модельного времени. Для этого можно использовать такие блоки:

generat 18,6 – генерирует транзакты которые 18 ± 6 (?)

dispatcher test l M1, 100 kill

kll terminate

 

 

<== предыдущая лекция | следующая лекция ==>
Организация обслуживания прерывания | Процессы массового обслуживания в экономических системах
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 343; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.