Кожний транзакт характеризується різним числом параметрів. Інтерпретація змісту параметрів є довільною і задається розробником моделі. Блок ASSIGN є основним засобом для задавання значень параметрів транзактів. Він замінює, зменшує, або збільшує поточне значення параметра транзакту відповідно до заданого значення. Формат запису:
ASSIGN А,В,[С]
Операндом А задається номер параметра, якому присвоюється значення. Операнд А може бути назвою, додатним цілим числом, виразом у дужках, СЧА, СЧА*параметр. Знаки, вказані безпосередньо за номером параметра, характеризують режими збільшення (+) і зменшення (–).
Операнд В визначає значення, яке додається, віднімається або яким замінюється значення в параметрі, заданому операндом А. Якщо такий параметр не існує, він створюється зі значенням, рівним 0. Операнд В може бути таким же, як і операнд А, крім того, числом і рядком.
Операнд С задає номер модифікатора-функції, на яке множиться значення операнда В. Отриманий добуток стає значенням, що змінює значення параметра, заданого операндом А. Наведемо приклади запису блоку ASSIGN:
|
|
ASSIGN 1,2.5
ASSIGN 8+,Q2
ASSIGN 12-,15,7
ASSIGN Name,"Blak"
У першому прикладі параметру з номером 1 присвоюється значення 2.5. У другому прикладі до значення параметра 8 додається значення довжини поточної черги номер 2. У третьому прикладі зі значення параметра 12 віднімається добуток числа 15 на обчислене значення функції номер 7. У четвертому прикладі параметру з назвою Name присвоюється рядок Blak.
В GPSS World значення параметрів транзактів можна також змінювати блоком PLUS. Блок PLUS обчислює вираз й може записати його в параметр. Він має наступний формат:
PLUS А,[В]
Операнд А – вираз. Може бути назвою, числом, рядком, виразом у дужках, СЧА або СЧА*параметр.
Операнд В – це номер параметра транзакта, у якому зберігається результат. Він може бути назвою, додатним цілим числом, виразом у дужках, СЧА або СЧА*параметр. Наприклад:
PLUS (Exponential(328,0,15.5)+63.71),Shrek
При вході транзакта в блок PLUS обчислюється вираз в дужках, яким заданий операнд А. Отриманий результат присвоюється параметру з назвою Shrek. Якщо такий параметр не існує, він створюється.
Значення параметра транзакта можна ще змінити блоком INDEX: