Описание переменных
Ип VARIABLE АВ – оператор описания целой переменной;
Ип FVARIABLE АВ – оператор описания действительной переменной;
Ип BVARIABLE ЛВ – оператор описания булевой переменной,
Ип – имя переменной,
АВ – арифметическое выражение,
ЛВ – логическое выражение.
Для записи выражений используются следующие арифметические операторы: "+" – сложение; "-" – вычитание; "#" - умножение; "/" – деление; "\" – целочисленное деление (с отбрасыванием остатка); "^" – возведение в степень; "@" – деление по модулю, при котором частное отбрасывается, а остаток считается положительным и является результатом (целочисленный остаток). Последняя операция определена только для VARIABLE.
Иерархия вычислений стандартная: степени, затем умножение и деление, потом целочисленный остаток и в последнюю очередь сложение, вычитание. Порядок вычисления может быть изменен при помощи круглых скобок.
Обращение к арифметической переменной производится при помощи СЧА "V", после которого записывается числовое имя переменной или через знак "$" – символьное имя.
Приведем пример определения переменной:
MYVAR FVARIABLE 2#(Q$OCHER1 + V$VASYA)^2
Вместо символа "#" для обозначения умножения можно использовать привычный "*", но для этого в диалоговом окне SettingS на вкладке Simulation нужно пометить Switch # and *.
Сохраняемые значения
Числовую информацию в модели можно сохранить, а затем вывести в отчет при помощи постоянных ячеек памяти. В GPSS эти ячейки называются сохраняемыми величинами и относятся к СЧА. Их значения можно задать, а затем изменять в процессе выполнения модели.
По умолчанию значения сохраняемых величин равны нулю. При необходимости пользователь может задать определенные начальные значения при помощи оператора INITIAL
INITIAL A,B – оператор задания начального значения сохраняемой величины;
A – имя сохраняемой величины, которой задается начальное значение,
B – задаваемое начальное значение.
Например, нужно сохраняемой величине STANOK задать значение 5:
INITIAL X$STANOK,5
Здесь X$ – СЧА, указывающий, что STANOK сохраняемая величина.
Значение сохраняемой величины ячейки изменяется в блоке SAVEVALUE, а матрицы – MSAVEVALUE.
SAVEVALUE A,B – блок изменения сохраняемой величины (рис.2.3);
A – имя или номер изменяемой ячейки,
B – величина, используемая в процессе модификации.
Рисунок 2.3 – Обозначение блока SAVEVALUE на схемах моделей
Блок SAVEVALUE может быть использован как в режиме замещения, так и в режимах накопления и уменьшения значения операнда А.
Пример режима замещения:
SAVEVALUE STANOK,N$OBS1 – величина X$STANOK получит значение N$OBS1 (число входов транзактов в блок OBS1).
Пример режима накопления:
SAVEVALUE SUMMA+,2 – величина X$SUMMA увеличится на 2.
Пример режима уменьшения:
SAVEVALUE OSTATOK-,X$RASHOD – величина X$OSTATOK уменьшится на X$RASHOD.
Достарыңызбен бөлісу: |