SAVEVALUE (сохранить величину)



SAVEVALUE (сохранить величину)

Назначение: изменяет значение ячейки.

Формат:SAVEVALUEA[+,-], B

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

 

Если за полем А стоит знак + или – значение поля В соответственно прибавляется или вычитается из текущего содержимого ячейки. Если знаки + или – не указаны, то значение поля В записывается в ячейку.

INITIAL

INITIAL

Назначение: инициализирует матрицу, логический ключ, ячейку или элемент матрицы.

Формат: INITIALA, B

А – логический ключ, ячейка или элемент матрицы, определённые как СЧА или имя матрицы.

Операнд А должен иметь форму классов СЧА:LS, X, MX или имени матрицы. В последнем случае всем элементам матрицы присваивается значение, указанное операндом В.

В – присваиваемое значение или “UNSPECIFIED” (не определено). По умолчанию В равно 1, если А указывает на логический ключ присваиваются только значения 0 и 1.

MATRIX

MATRIX

Назначение: Определяет матрицу GPSS.

Формат: nameMATRIX A, B, C

name – имя матрицы, А – не используемое поле (для совместимости с ранними версиями GPSS), В – максимальное количество элементов в первом измерении (кол-во строк в матрице), С – максимальное количество элементов во втором измерении (кол-во столбцов матрицы).

MSAVEVALUE(сохранить значение элемента матрицы)

MSAVEVALUE (сохранить значение элемента матрицы).

Назначение: изменяет значение элемента матрицы.

Формат:MSAVEVALUEА[+,-], B, C, D

А – имя, или номер матрицы.

В – номер строки матрицы.

С – номер столбца матрицы.

D – величина, используемая для изменения элемента матрицы.

 

При входе транзакта в этот блок модифицируется значение элемента матрицы А, стоящего на пересечении строки В и столбца С. Операнд D определяет значения, которым следует заменить или, которое следует добавить (вычесть) из значения, указанного элемента матрицы.

 

Блоки формирования и обработки семейств транзактов ( SPLIT , ASSEMBLE , GATHER ).

SPLIT (расщепить)

SPLIT (расщепить)

Назначение: создает копии текущего транзакта.

Формат :SPLIT A,[B],[C]

А – число создаваемых копий транзакта.

В – метка блока, в который направляются копии транзакта-родителя.

С – имя или номер параметра для хранения порядкового номера копии.

 

Операнд А определяет число копий, которые образуются при входе текущего транзакта в блок SPLIT. Вновь созданные транзакты идентичны исходному транзакту (имеют тот же приоритет, значение параметров и время входа в систему). Копии направляются в блок, указанный в поле В. Порождающий транзакт поступает в следующий по порядку блок. Туда же поступают и транзакты-копии, если операнд В опущен. Параметр операнда С используется для задания порядковых номеров копий.

Здесь надо рассмотреть два случая:

1. Упрождающего транзакта значения этого параметра при входе в блок было равно k, тогда, при выходе из блока оно станет равным k+1, а значения этого параметра у транзактов копий окажутся равными k+2, k+3…

2. Упрождающего транзакта этот параметр не был определен заранее. В этом случае он создается и ему присваивается нулевое значение. При выходе из блока в этом параметре порождающего транзакта будет записана единица, а значения этого параметра у транзактов-копий будет равными 2, 3 и т.д.

Если операнд С опущен, то транзакты после прохождения блока SPLIT в своих параметрах номеров не имеют.

ASSEMBLE (соединить)

ASSEMBLE (соединить)

Назначение: Объединение транзактов, принадлежащих одному семейству.

Формат:ASSEMBLEA

где А – число объединяемых транзактов.

 

Первый транзакт семейства, достигнув блока задерживается в нём до тех пор, пока остальные члены семейства не поступят в этот блок. Когда транзакты, число которых указано в поле А поступят в этот блок, они будут удалены из модели, а первый прибывший транзакт продолжит движение.

GATHER (собирать)

GATHER (собирать)

Назначение: накапливает транзакты, являющиеся членами одного семейства и движущиеся по одному и тому же маршруту.

Формат:GATHER А

А – число транзактов, которые должны быть накоплены.

 

Транзакты одного семейства задерживаются в блоке GATHER до тех пор, пока их число не станет равным значением поля А. Когда последний транзакт войдет в блок GATHER все они одновременно выходят из него в том порядке, в котором поступили.

 

Переменные в GPSS .

Переменные представляют собой выражения, которые могут быть составлены из констант, арифметических, условных и логических операторов СЧА, переменных пользователя, библиотечных математических функция, генераторов случайных чисел и встроенных вероятностных распределений. В GPSS имеется два типа переменных: арифметические и булевые. Для их описания используются соответственно команды:VARIABLE, BVARIABLE. Команды описания переменных имеют следующий формат:

name VARIABLE A

name BVARIABLE A

name – имя переменной, А – выражение, определяющее переменную.

С переменными связаны два СЧА

Vj (V$name) – результат вычисления арифметической переменной с номером j( с именем name).

BVj (BV$name) – результат вычисления булевой переменной с номером j( с именем name).

 


Дата добавления: 2019-02-12; просмотров: 221; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!