Назначение. Блок
изменяет состояние логического ключа.
Синтаксис.
LOGIC
X A
Назначение
операндов.
Операнд |
Назначение |
Значение |
Значение по умолчанию |
X |
Логический оператор |
S,R
или
I |
Обязательный параметр |
A |
Имя
логического ключа |
Имя,
число,
СЧА |
Обязательный параметр |
Особенности выполнения.
1.
Блок
LOGIC предназначен для того, чтобы устанавливать, сбрасывать или инвертировать
(менять на противоположное) состояние логического ключа.
2.
Логический ключ может находиться в двух состояниях: «ON»
(включен или 1) и «OFF»
(выключен или 0).
3.
Если логический оператор равен «S»
или «R»,
то логический ключ, заданный операндом А, устанавливается во включенное или
выключенное состоянии, соответственно.
4.
Если логический оператор равен «I»,
то логический ключ, заданный операндом А, инвертируется. Это значит, что если он
был включен, он будет выключен и наоборот.
Примеры
использования.
. LOGIC
S
SWITCH
. LOGIC R
SWITCH
.
LOGIC I SWITCH
Назначение. Блок
отмечает вход транзакта в регистратор очереди.
Синтаксис.
QUEUE
A[,
B]
Назначение
операндов.
Операнд |
Назначение |
Значение |
Значение по умолчанию |
A |
Имя регистратора очереди |
Имя,
число,
СЧА |
Обязательный операнд |
B |
Число, на
которые увеличивается длина очереди |
Имя,
число,
СЧА |
1 |
Особенности выполнения.
1.
Блок
QUEUE
всегда принимает транзакты
2.
После прохождения транзакта через блок соответствующим
образом изменяются СЧА регистратора очереди и накапливаемая по данной очереди
статистика
Примеры
использования
QUEUE
SYSTEM
QUEUE
SYSTEM,2
Назначение. Блок
отмечает выход транзакта из регистратора очереди.
Синтаксис.
DEPART A[,
B]
Назначение
операндов.
Операнд |
Назначение |
Значение |
Значение по умолчанию |
A |
Имя регистратора очереди |
Имя,
число,
СЧА |
Обязательный операнд |
B |
Число, на
которые уменьшается длина очереди |
Имя,
число,
СЧА |
1 |
Особенности выполнения.
1.
Блок
DEPART
всегда принимает транзакты
2.
После прохождения транзакта через блок соответствующим
образом изменяются СЧА регистратора очереди и накапливаемая по данной очереди
статистика
Примеры
использования.
QUEUE
SYSTEM
QUEUE
SYSTEM,2
Оператор
определяет арифметическую целую переменную.
Синтаксис. <имя
переменной>
VARIABLE <арифметическое
выражение>
Имя переменной -
символическое или числовое имя переменной, ставится в поле меток.
Арифметическое выражение определяет данную переменную.
Примеры
использования.
5
VARIABLE
R$CAN+P6
Арифметическая переменная с числовым именем 5 . равна
сумме числа свободных единиц памяти
CAN
и значения параметра 6 активного транзакта.
SUM
VARIABLE
(P3
+ Р4)/5
Арифметическая переменная с символическим именем
SUM
равна сумме значений 3-го и 4-го параметров активного транзакта, деленной на 5.
Обращение к переменной с числовым или с символическим
именем выполняться соответственно как
V5 илиV$SUM
Значение арифметической переменной может
использоваться как:
•
элемент другой арифметической переменной, булевой переменной;
•
аргумент функции, таблицы;
•
операнд блока
Оператор определяет арифметическую переменные с
фиксированной точкой.
Синтаксис. <имя
переменной>
FVARIABLE
<арифметическое выражение>
Имя переменной -
символическое или числовое имя переменной, ставится в поле меток.
Арифметическое выражение определяет данную переменную.
Пример использования.
PBR
FVARIABLE
(Sl-S$CAN)/5
+ 3.6
Ссылка на арифметическую переменную с фиксированной
точкой выполняется так же, как и на арифметическую переменную.
Арифметические выражения арифметической переменной с
фиксированной точкой образуются аналогично арифметической целой переменной.
Оператор определяет булеву переменную.
Синтаксис. <имя переменной>
BVARIABLE <булево выражение>
Выражение, содержащееся в команде
BVARIABLE,
вычисляется и конечный результат преобразуется в целое значение 0, если равен
нулю, или в целое значение 1, если отличен от нуля.
Выражения в команде
BVARIABLE
кроме логических операторов могут включать
арифметические операторы и вызовы библиотечных процедур.
Пример использования.
FLAG
BVARIABLE BV$CAN1’AND’BV$CAN2
Переменная
FLAG равна1, если булевы переменные
CAN1 и CAN2 имеют значение
TRUE, и равна 0 в других случаях
Оператор
определяет матрицу сохраняемых
величин.
Синтаксис. <Имя матрицы>
MATRIX
A,
B,
C,
[D],
[E],
[F],
[G]
Имя матрицы
–числовое или символическое имя Обязательный параметр.
А - Неиспользуемое поле (для
совместимости с ранними версиями
GPSS).
В - Обязательный операнд.
Максимальное количество элементов в первом измерении. Количество
строк матрицы. Допустимое значение – целое число.
С - Обязательный операнд.
Максимальное количество элементов во втором измерении.
Количество столбцов матрицы.
Допустимое значение – целое число.
D
- Необязательный операнд. Максимальное количество элементов в третьем измерении.
Допустимое значение- целое
число.
Е - Необязательный операнд.
Максимальное количество элементов в четвертом измерении.
Допустимое значение -
целое число.
F
- Необязательный операнд. Максимальное количество элементов е пятом измерении.
Допустимое значение -
целое число.
G
- Необязательный операнд. Максимальное количество элементов в шестом измерении.
Допустимое значение -
целое число.
Матрица может иметь до 6
измерений. Однако только первые два из них могут быть доступны
в блоке
MSAVEVALUE.
В этом случае все отсутствующие индексы считаются равными 1.
PLUS-процедуры имеют доступ ко всем элементам матрицы. Если используются
более чем двумерные матрицы, необходимо создать
одну или более PLUS-процедуру
для доступа к ним.
Когда матрица только что создана
или выполнена команда
CLEAR
ON,
всем ее элементам
присваивается значение 0.
Пример использования.
REZULT
MATRIX
,15,3
Оператор определяет матрицу с
именем REZULT
с 15 строками и 5
столбцами.
Оператор определяет функцию
GPSS,
заданную таблично.
Синтаксис. <имя функции>
FUNCTION
А, В
Имя функции
–числовое или символическое имя Обязательный параметр.
А - Аргумент функции.
Обязательный операнд. Допустимые значения – имя, число, СЧА.
В - Тип функции (одна буква) и
количество пар данных в списке данных функции. Обязательный операнд.
Последующие обращения к СЧА типа
FN вычисляют функцию и возвращают
результат.
Существует несколько типов
функций. Тип определяется операндом В команды
FUNCTION.
За каждой командой
FUNCTION сразу же должен следовать список пар данных, разделенных
символами «/», который определяет
функцию. Текстовые строки, которые содержат этот список, называются списком данных функции. Каждая пара данных
определяет значение
X
и
значение
Y
, разделенные запятой.
Списки данных используются для вычисления значения функции по заданным значениям
аргумента.
Существует 5 различных типов
функций.
1.
Функции типа С
– непрерывные числовые функции.
В списке данных функций типа С,
значения X и Y
должны быть целочисленными(Integer)
или вещественными(Real).
Значения
X
и Y
хранятся как числа с плавающей точкой
двойной точности.
Вычисление функции начинается
с вычисления аргумента. Далее определяется интервал (Xi;Xi+1), на котором
находится вычисленное значение и на этом интервале выполняется линейная
интерполяция двойной точности
с использованием соответствующих значений Yi и Yi+1. Результатом является
значение функции двойной точности. Если аргумент попадает за предельные значения
области определения функции, возвращается значение функции в ближайшей
предельной точке.
Примеры использования.
Output
FUNCTION
V$Input,
C3
1.1,10.1/20.5,98.7/33.3,889.2
Оператор определяет
кусочно-линейную функцию с двумя линейными участками. Когда функция вызывается
как СЧА
FN$Output,
сначала вычисляется аргумент
V$lnput.
Если аргумент попадает
за пределы области определения функции (от 1.1 до 33.3), возвращается значение
в ближайшей предельной точке. Например, если
V$Input
равно 1 или меньше,
FN$Output
возвращает 10.1.
Когда аргумент попадает
внутрь линейного сегмента, выполняется линейная
интерполяция. Например, если
V$Input
равно 25,
FN$Output
возвращает результат следующих вычислений:
98.7 + (889.2 - 98.7) # (25-20.5) / (33.3 -
20.5)=376.6101563.
Пример приближенного
представления обратного экспоненциального распределения со средним, равным 1.
Xpdis
FUNCTION RN1,
С24
0,0/.1,.104/.2,
.222/.3, .355/.4, .509/.5, .69/.6,.915/.7,1.2/.75,1.38
.8, 1.6/.84, 1.83/.88,
2.12/.9, 2.3/.92, 2.52/.94, 2.81/.95, 2.99/.96,3.2
.97,
3.5/.98, 3.9/.99, 4.6/.995, 5.3/.998,6.2/.999,7/.9998,8
2.
Функции типа
D
- дискретные функции.
В списках данных функций типа
D
значения X
должны быть целочисленными или вещественными, а
значения Y
– целочисленными,
вещественными или именами.
Функции типа
D
задают одно и то же значение
функции Y[i]
для всех значений аргумента
X[i-1]<
X
≤X[i].
Значения
X в списке данных
функции должны быть неубывающими. Внутренне они сохраняются как числа двойной
точности. Когда вычисляется функция, значения
X
в списке данных
функции просматриваются от наименьшего к наибольшему. Когда найдено значение
X,
которое больше или
равно текущему значению аргумента, возвращается соответствующее ему значение
Y.
Если такое значение
X
отсутствует, возвращается значение
Y
или именованная величина, соответствующая
самому большому значению X.
Комментарии
|
Нет комментариев.
|
|
Добавить комментарий
|
|
|
Рейтинги
|
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
|
|
|