logo
Имитац

Объекты вычислительной категории языка: переменные и функции. Сохраняемые ячейки

Для того чтобы использовать в программе переменную, необходимо сначала её описать оператором VARIABLE или FVARIABLE. Формат описания:

имя VARIABLE А

Операнд А – арифметическое выражение, составляемое из стандартных арифметических операции: +, –, /, # (умножение), @ (остаток от деления), любого СЧА. Обратиться к переменной можно по её СЧА V$имя или Vi, где i – номер переменной. Например, переменная SUM VARIABLE N$NEOBS#250 и именем SUM подсчитывает убыток от необслуженных клиентов в примере 3.3.1, вычисляемый как произведение числа транзактов, вошедших в блок с именем NEOBS на среднюю прибыль от одного клиента

250 рублей.

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

Сохраняемые ячейки памяти служат для хранения некоторых постоянных или изменяющихся значений данных, обычно для организации разного рода счётчиков. Перед началом моделирования их значения равны 0, но могут быть заданы пользователем в операторе INITIAL A,[B] , где операнд А имеет вид X$имя или Xi , i-номер.

Операнд В – присваиваемое значение. В процессе моделирования значение ячейки меняется в блоке SAVEVALUE (сохранить значение). Блок может быть использован как в режиме замещения старого значения новым, так и в режиме прибавления или уменьшения, тогда в операнде А добавляется знак + или – .

Примеры:

SAVEVALUE 1,(N$NEOBS#250) ;в ячейку 1 положить значение выражения, подсчитывающего убыток от необслуженных клиентов;

SAVEVALUE UBYITOK+,250 ; вошедший в блок транзакт прибавляет к ячейке с именем UBYITOK величину возможного убытка от одного клиента, в итоге в ячейке накопится общий убыток;

SAVEVALUE KOL+,1 ;заходящий в этот блок транзакт увеличивает значение ячейки на 1.

Обратите внимание, что обращаться к содержимому ячейки в программе нужно через её СЧА (приложение 2): X$UBYITOK, X$KOL.