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

SAVEVALUE - сохраняет значение.

Формат: SAVE[VALUE] А,В,С

А - номер ячейки;

В - присваиваемое значение;

С - тип ячейки: XF, ХН, XL (по умолчанию XF).

Если за полем А стоит знак " + " или знак " - ", значение поля В, соответственно, прибавляется или вычитается из текущего содержимого ячейки. Если знаки + " или " - " не указаны, то значение поля В записывается в ячейку. Поле С определяет тип ячейки (ХН - полусловная; XF - полнословная; XL - с плавающей точкой).

Примеры

1. SAVEVALUE 4,5

Поместить значение 5 в полнословную ячейку 4.

2. SAVEVALUE 2+,Р$3,Н

Прибавить содержимое параметра 3 к содержимому полусловной ячейки 2.

См.также:

SDECREMENT

SINCREMENT

SDECREMENT (УМЕНЬШИТЬ СОХРАНЯЕМУЮ ВЕЛИЧИНУ)

SDECREMENT - уменьшает значение, сохраняемое в ячейке.

Формат: SDEC[REMENT] А,В,С

А - номер ячейки;

В - вычитаемая величина;

С - тип ячейки: XF, ХН, XL (по умолчанию XF).

Вычитается значение поля В из содержимого ячейки, указанной в поле А. Поле С определяет тип ячейки: XF - полнословная, ХН - полусловная, XL - с плавающей точкой.

Примеры

I. SDEC 1,2

Вычитает 2 из содержимого полнословной ячейки 1.

2. SDECREMENT Р$2,ХН$3,Н

Вычитает содержимое полусловной ячейки 3 из содержимого полусловной ячейки,

номер которой указан в параметре 2.

См.также:

SAVEVALUE

SINCREMENT

SEIZE (ЗАНЯТЬ)

SEIZE- занимает устройство.

Формат: SEIZ[E] А

А -номер устройства.

Транзакт пытается занять устройство, определенное полем А. Если прервано, транзакт задерживается в предыдущем блоке.

Примеры

1. SEIZ 5

Попытка занять прибор 5.

2. SEIZ Р$3

Попытка занять прибор, указанный в параметре 3.

См.также:

PREEMPT

RELEASE

RETURN

SINCREMENT (УВЕЛИЧИТЬ СОХРАНЯЕМУЮ ВЕЛИЧИНУ)

SINCREMENT- увеличивает значение, сохраняемое в ячейке.

Формат: SINC[REMENT] А,В,С

А - номер ячейки;

В - добавляемая величина;

С - тип ячейки: XF, ХН, XL (по умолчанию XF).

Значение поля В прибавляется к содержимому ячейки, указанной в поле А. Поле С определяет тип: XF - полнословная, ХН - полусловная, XL - с плавающей точкой.

Примеры

1. SINCREMENT 1,10

Прибавляет 10 к содержимому полнословной ячейки 1.

2. SINCREMENT P$4,V$5,H

Прибавляет значение переменной 5 к содержимому полусловной сохраняемой ячейки,

указанной в параметре 4.

См.также:

SAVEVALUE

SDECREMENT

SPLIT (РАСЩЕПИТЬ)

SPLIT - создает копии текущего транзакта.

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

А - число создаваемых копий;

В - следующий блок для копий;

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

D - число параметров у каждой копии.

Поле А определяет число копий, которые образуются при входе текущего транзакта. Эти вновь созданные транзакты по умолчанию идентичны исходному транзакту. Копии входят в блок, указанный в поле В. Исходный транзакт поступает на следующий блок. Параметр поля С используется для задания порядковых номеров копий. Нумерация осуществляется следующим образом. Порядковый номер исходного транзакта увеличивается первым. Если он был равен нулю, при входе транзакта в блок он станет равным единице. Порядковый номер первой копии станет на единицу больше, чем у исходного транзакта Ломера последующих копий также увеличиваются на единицу. Если поле D не задано, копии имеют такое же, как у исходного транзакта число и тип параметров.

Примеры

1. SPLIT 4.THERE

Создает 4 копии вошедшего транзакта и посылает в блок с именем THERE. Исходный

транзакт идет на следующий блок.

2. SPLIT 3,Р$1,1,4

Создает три копии текущего транзакта. Каждая копия будет иметь четыре параметра;

порядковый номер указан в параметре 1. Параметр 1 будет определять номер следующего

блока.

См.также:

ASSEMBLE

GATHER

MATCH

TABULATE (ЗАНЕСТИ В ТАБЛИЦУ)

TABULATE -заносит значение в таблицу.

Формат: TABU[LATE] А,В

А - номер таблицы;

В - вес, указывающий сколько раз значение должно быть занесено в таблицу (по

умолчанию1).

Транзакты, входящие в блок TABULATE, осуществляют занесение данных в таблицу, указанную в поле А. Поле В определяет весовой фактор, который используется, если данные заносятся во взвешенную таблицу. Описание структуры таблицы осуществляется картой TABLE.

Примеры

1. TABULATE 4

Занести значение в таблицу 4 с весом 1 (т.е один раз).

2. TABULATE Р$3,5

Занести наблюдаемую величину с весом 5, т.е 5 раз, во взвешенную таблицу, указанную в

параметре .

TERMINATE (ЗАВЕРШИТЬ)

TERMINATE- удаляет транзакт.

Формат: TERMI[NATE] А

А -величина, вычитаемая из содержимого счетчика завершений(поле А карты START).

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

Примеры

I. TERMINATE

Транзакт удален, но значение счетчика завершений не изменяется.

3. TERMINATE 2

Значение счетчика завершений уменьшается на 2.

См.также: GENERATE

TEST (ПРОВЕРИТЬ)

TEST- сравнивает два стандартных числовых атрибута.

Формат: TEST_r А,В,С

r - внутренний операнд, принимающий значения:

Е - равно;

NE - не равно;

L - меньше чем;

LE - меньше чем или равно;

G - больше чем;

GE - больше чем или равно;

А - стандартный числовой атрибут;

В - стандартный числовой атрибут;

С - номер альтернативного блока.

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

Примеры

1. TEST_E P$1,2,LABEL

Если значение первого параметра равно двум, транзакт войдет в блок TEST и продолжит

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

LABEL.

2. TEST_L FN$2,P$2

Если функция 2 меньше, чем параметр 2, транзакт входит в блок TEST, в противном

случае он становится заблокированным.

TRACE (НАЧАТЬ ТРАССИРОВКУ)

TRACE- прослеживает движение транзактов.

Формат: TRAC[E] Неимеет операндов.

Устанавливает индикатор (бит трассировки), вызывающий печать каждого шага при движении транзакта через модель.

Пример

TRACE

Будет прослежено движение транзактов в модели, начиная с блока TRACE.

См.также: UNTRACE

TRANSFER (ПЕРЕДАТЬ)

TRANSFER- изменяет движение транзакта в модели.

Формат: TRAN[SFER] А,В,С,D

А - режим передачи (пробел,.,ALL,BOTH,FN,P,PICK,SBR,SIM);

В - следующий блок;

С - следующий блок;

D - значение индекса, используемое в режиме ALL.

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

Режимы передачи поля А:

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

2. "."- статистический режим; в поле А указано десятичное число, выражающее

вероятность перехода в блок С; его дополнение до единицы указывает

вероятность перехода в блок В.

3. ALL - транзакт последовательно пытается перейти в блоки, определяемые

значениями В, B+D,B+2D.....C.

4. BOTH- транзакт последовательно пытается войти в блок В, затем в блок С, до тех

пор, пока один из них станет доступным.

5. FN- функциональный режим: поле В является номером функции; следующий блок

определяется суммой значения этой функции поля С.

6. Р - параметрический режим: поле В является номером параметра; следующий

блок определяется суммой значения этого параметра и поля С.

7. PICK - выборочный режим: блок выбирается с равной вероятностью из блоков с

номерами: В,B+l,..., С.

8. SBR - режим перехода к подпрограмме: номер текущего блока помещается в

параметр, указанный в поле С, а транзакт передается в блок, номер которого

указан в поле В.

9. SIM - одновременный режим: проверяется одновременное выполнение условий

беспрепятственного движения транзактов в задерживающих блоках . Если

условие выполняется, транзакт передается в следующий блок, в противном

случае транзакт переходит на блок С.

Примеры

1. TRANSFER , NEXT

Безусловная передача в блок с меткой NEXT.

2. TRANSFER .400, FACI.FAC2

С вероятностью 0.6 транзакты будут переданы в блок FAC1 и с вероятностью 0.4 в блок

FAC2.

UNLINK (ВЫВЕСТИ ИЗ СПИСКА)

UNLINK - удаляет транзакт из списка пользователя.

Формат: UNLI[NK] A,B,C,D,E,F

А - номер списка;

В - следующий блок для выводимых из списка транзактов;

С - число выводимых транзактов;

D - номер параметра или БАСК (с конца списка);

Е - значение, сравниваемое с величиной параметра;

F - следующий блок для выведенного из блока UNLINK транзакта.

Если поля D и Е не указаны, транзакты безусловным образом выводятся из списка и отправляются в блок В. Если в поле D указан БАСК, транзакты выводятся из конца списка. Если поле D определяет номер параметра, а в поле Е пробел, то параметр вводимого транзакта сравнивается с тем же параметром транзактов в списке пользователя и если обнаруживается равенство, то соответствующие транзакты выводятся из списка. Если в поле Е указан СЧА, то параметр D находящихся в списке транзактов сравнивается с этим СЧА и выводятся те транзакты, для которых обнаруживается равенство.

Примеры

1. UNLINK 4.МЕТ,1,ВАСК

Один транзакт выводится из конца списка и направляется в МЕТ.

2. UNLINK STO,BEG,3,l,V$l,END

Выводятся из списка STO три транзакта, у которых значение первого параметра равно

переменной 1. Транзакты направляются в блок BEG. Если транзакты не могут быть

выведены, то текущий транзакт направляется из блока UNLINK в блок END.

См.также: LINK

USING (ИСПОЛЬЗОВАТЬ ДОСТУП)

USING - доступ к параметрам другого транзакта.

Формат: USING A,B,C,D,E

А - номер транзакта для доступа;

В - номер параметра для доступа (может иметь суффиксРВ, РР или РН);

С - тип объекта для хранения информации (ячейки или параметра: X, ХН, Р, РВ, PF, РН);

D - номер объекта для хранения информации;

Е - альтернативный выход, если транзакта нет в модели.

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

Пример

USING X$STR,l,P,3,PASS

Если транзакт, номер которого определен ячейкой STR, является активным, то копируется содержимое параметра 1 в параметр 3 текущего транзакта. Если транзакт не активен, то текущий транзакт передается в PASS.

См.также: LOCATE

Наши рекомендации