Организация циклов. Арифметические переменные в GPSS World

Цель работы: научиться организовывать циклы в имитационной модели.

Задачи: промоделировать работу заданной системы, задать цикл, сгенерировать отчет, проанализировать полученные результаты.

Оператор ASSIGNизменяет атрибуты транзактов. Формат оператора ASSIGN имеет вид:

< ASSIGN A,B,C,D >

A— не имеет значения по умолчанию, определяет имя или номер параметра, которому назначается значение. Если последний символ в операнде А + или –, то параметр уменьшается или увеличивается на значение, определяемое операндом В.

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

С— не имеет значения по умолчанию, определяет имя или номер оцениваемой функции, значение операнда В умножается на значение функции после определения знака функции.

Рассмотрим несколько примеров.

1. ASSIGN 3+,5

2. ASSIGN 5,2.5,,PL

В первом примере производится прибавление к значению параметра 3 пяти единиц. Во втором примере задается значение параметру форматом «плавающая точка».

Оператор LOOP служит для организации циклов в процессе имитационного моделирования, формат его имеет вид:

< LOOP A,B>

А — не имеет значения по умолчанию и характеризует номер параметра транзакта.

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

При каждом вхождении транзакта в блок LOOP значение счетчика уменьшается на 1 и сравнивается с 0. Если оно больше 0, его адрес определяется операндом В, который задает петлю; если становится равным нулю, транзакт переходит к следующему блоку; если становится меньше 0, появляется ошибка исполнения.

Рассмотрим пример использования оператора (фрагмент программы).

ASSIGN 5,4

WAIT ADVANCE 15,3

LOOP 5,WAIT

Для транзакта, вошедшего в блок ASSIGN, значение 5-го параметра 4, внутри цикла этот параметр не меняется, следовательно, этот транзакт еще 3 раза возвратится к началу цикла — блоку WAIT.

Арифметические переменные делятся на переменные с фиксированной и с плавающей точками. Переменные с фиксированной точкой обозначаются оператором VARIABLE, а с плавающей – FVARIABLE. Формат операторов:

<Имя> VARIABLE <А>

<Имя> FVARIABLE <А>

Операнд А отображает выражение, которое используется для вычисления значения переменной. Для обращения к переменным используется символ V. В выражениях используются следующие знаки:

+ сложение;

- вычитание;

# умножение;

/ деление…


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: