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

В GPSS пользователю предоставляется возможность определить глобальные переменные, начальные значения которых могут быть заданы перед моделированием и к которым можно обратиться из любого места модели в любой момент времени. Эти переменные называют сохраняемыми величинами (ячейками). Совокупность ло­гически связанных между собой ячеек образует матрицу (аналог массива). Сохраняемые величины могут принимать положительные и отрицательные значения. Стандартный числовой атрибут Xj (Х$<имя ячейки>) дает значение соответствующей сохраняемой ве­личины. Например, Х2 - значение ячейки 2; X$DAY - значение ячейки DAY.

С матрицами связан стандартный числовой атрибут МХj (т,п) - значение, записанное в строке т и в столбце п матрицы j или МХ$<имя матрицы> (т,п), если матрица имеет символьное имя.

СЧА сохраняемой величины может быть использован для кос­венного задания данных, а также как аргумент функций и таблиц.

Перед использованием матрица определяется оператором опи­сания MATRIX. Начальные значения ячеек и матриц можно задать с помощью оператора описания INITIAL.

Формат записи операторов MATRIX следующий:

<имя> MATRIX <А>,<В>,<С

А не используется. (используется для совместимости с более ранними версиями)

В задается число строк матрицы.

С задается число столбцов матрицы.

Каждая матрица может содержать не более 8191 элементов.

Формат записи оператора задания начальных ячеек матрицы INITIAL имеет вид:

INITIAL <А>,<В>

А – СЧА MX, связанный с именем матрицы посредством знака $, и с указанием номера строки и номера столбца определяемой матрицы,

В — определяемая величина. Операнд поля <В> может быть целым действительным числом.

INITIAL MX$MAT1(2,3),50

Оператор задания матриц INITIAL должен располагаться в програм­ме после определения матрицы оператором MATRIX.

Блок SAVEVALUE (Модифицировать сохраняемое значение) сохраняет СЧА по времени моделирования и оче­редей.

Формат записи блока имеет вид:

SAVEVALUE А[±],В

В поле <А> задается имя ячейки, в кото­рую записывается значение поля <В> (СЧА).

Подобно блоку ASSIGN блок SAVEVALUE может быть ис­пользован как в режиме замещения величины, так и в режиме увели­чения или уменьшения. В режиме увеличения предыдущее значение сохраняемой величины увеличивается на значение, заданное операн­дом В, а в режиме уменьшения - уменьшается на это значение. Ре­жимы увеличения и уменьшения определяются введением соответст­венно знака «плюс» или «минус» перед запятой, разделяющей опе­ранды А и В.

Блок MSAVEVALUE используется для записи значений в матрицы, а также для увеличения или уменьшения значений элементов матриц. Его формат:

MSAVEVALUE A[+,-],B,C,D

А – имя матрицы, для которой осуществляется определение или переопределение ее элементов.

В – номер строки определяемой матрицы.

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

D – определяемая величина

Операнды А, В и С могут быть именем, положительным целым, СЧА или СЧА*СЧА. Операнд D может быть именем, СЧА или СЧА*СЧА.

Подобно блокам ASSIGN и SAVEVALUE этот блок может быть использован как в режиме замещения величины, так и в режиме уве­личения или уменьшения.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: