При входе транзакта в блок SAVEVALUE прежде всего вычисляется величина переменной ALPHA. Полученный результат присваивается сохраняемой величине, номер которой записан в параметpe P5.
SAVEVALUE 5+,X2
При входе транзакта в блок величина X5 увеличивается на значение величины X2.
SAVEVALUE PROFIT-,FN$COSTS
При входе транзакта в блок величина X$PROFIT уменьшается на значение функции FN$COSTS.
Оператор описания матрицы MATRIX. Каждая матрица должна быть объявлена до ее использования, т.е. должна иметь оператор описания. Формат оператора представлен в таблице.
Таблица 4.41
| Поле | Информация в поле |
| Метка | Имя матрицы |
| Операция | MATRIX |
| ОперандА | Не используется (оставлен для совместимости с более старыми версиями GPSS) |
| Операнд В | Число строк матрицы (целое положительное) |
| Операнд С | Число столбцов матрицы (целое положительное) |
Матрица в GPSS/PC может содержать не более чем 8191 элемент. Она может быть переопределена или инициализирована повторно другим оператором MATRIX c тем же именем. Переопределение, при котором размер матрицы изменяется, повлечет за собой выделение памяти под новую матрицу. Выделенная до этого оперативная память остается занятой.
Блок MSAVEVALUE. Блок MSAVEVALUE используется для записи значений в матрицы, А также для увеличения или уменьшения значений элементов матриц. Его формат:
MSAVEVALUE A[+,-|3,C,D
Таблица 4.42
| Операнд | Значение | Результат по умолчанию |
| А | Имя матрицы | Ошибка |
| В | Номер строки матрицы | Ошибка |
| С | Номер столбца матрицы | Ошибка |
| D | Величина, используемая для модификации | Ошибка |
Операнды А, В и C могут быть именем, положительным целым, СЧА или CЧA*CЧA. Операнд D может быть именем, СЧА или : CЧA*CЧA.
Подобно блокам ASSIGN и SAVEVALUE этот блок может быть использован как в режиме замещения величины, так и в режиме увеличения или уменьшения.
Когда транзакт входит в блок MSAVEVALUE, то анализируется операнд А и ищется матрица c указанным именем. Если матрица ненайдена, то возникает ошибка. Соответствующий элемент матрицы определяется содержимым операндов В и C. Если такого элемента не существует, то также возникает ошибка.






