Важливо коректно задавати всі параметри блоку 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.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.