Методичні вказівки до лабораторних робіт з курсу "Моделювання систем", страница 12

Важливо коректно задавати всі параметри блоку TRANSFER. Розглянемо приклади з правильним та неправильним використанням блоку:

TRANSFER   ALL,60,120,10

TRANSFER   ALL,TDK1,TDK2,5

TRANSFER   ALL,60,120,25

У першому прикладі режим ALL заданий правильно. Транзакт буде послідовно намагатися перейти до блоків 60, 70, ..., 120. У другому прикладі режим ALL допустимий тільки в тому випадку, коли різниця між номерами, що привласнюються інтерпретатором GPSS блокам TDK1 і TDK2, кратна п'яти. У третьому випадку таке задання режиму ALL неприпустиме, оскільки різниця між порядковими номерами блоків B і C не кратна 25. У режимі ALL використання СЧА і непрямої адресації в операндах B, C або D не передбачається.

5. Режим PICK. Випадково, з імовірністю, рівною , транзакт передається одному з блоків з номерами B, B + 1, B + 2, ..., C, де B і C – номера блоків, зазначені в полях операндів B і C. Якщо транзакт не може відразу перейти до обраного блоку, він буде чекати в блоці TRANSFER доти, поки не буде знята блокуюча умова. Виходячи з необхідної величини k + 1, програміст розташовує відповідно блоки В и С.

Наприклад,

         TRANSFER   PICK,30,39

Увійшовши в цей блок, транзакт із імовірністю 1/10 спробує перейти до одного з 10 блоків (30, 31, ..., 39).

6. Режим "ПАРАМЕТР". У полі A вказується позначка P. Операнд B задає номер параметра транзакта, котрий увійшов до блоку TRANSFER. Номер наступного блоку визначається сумою значення цього параметра зі значенням операнда C. Транзакт переходить до блоку, номер якого отримано в результаті обчислень, або затримується в блоці TRANSFER, якщо той блок зайнятий.

7. Режим "ПІДПРОГРАМА". В полі A записується позначка SBR. Транзакт із блоку TRANSFER намагається ввійти в блок з номером, вказаним в операнді B. Операнд C вказує на номер параметра транзакта. У цьому параметрі автоматично записується номер поточного блоку TRANSFER. Режим використовується для переходу до підпрограми, початком якої є блок, номер якого зазначений у полі B. Транзакт зможе повернутися до блоку, наступного після того блоку TRANSFER SBR,B,10, який звернувся до підпрограми, якщо останнім блоком підпрограми вказати блок TRANSFER P,10,1.