Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GPSS.pdf
Скачиваний:
49
Добавлен:
10.02.2015
Размер:
519.04 Кб
Скачать

15

СЧА

Особенности выполнения.

1.Блок LOGIC предназначен для того, чтобы устанавливать, сбрасывать или инвертировать (менять на противоположное) состояние логического ключа.

2.Логический ключ может находиться в двух состояниях: S (включен или 1) или R (выключен или 0).

3.Если логический оператор равен «S» или «R» , то логический ключ, заданный операндом А, устанавливается во включенное или выключенное состоянии соответственно.

4.Если логический оператор равен «I», то логический ключ, заданный операндом А, инвертируется. Это значит, что если он был включен, он будет выключен и наоборот.

Примеры.

1.

LOGIC S

SWITCH

2.

LOGIC R

SWITCH

3.

LOGIC I

SWITCH

Блоки и операторы организации вычислений

Вектор сохраняемых величин – это совокупность параметров, предназначенная для сохранения скалярных значений, организованная в виде вектора. Адресация такой величины имеет вид Х I , где Х – стандатное имя вектора, I – номер или имя элемента вектора Х.

Блок SAVEVALUE

Назначение. Блок присваивает, увеличивает или уменьшает значение сохраняемой величины.

Синтаксис. SAVEVALUE A[±],B

Операнд

Назначение

Значение

Значение по умолчанию

A

Имя изменяемой сохраняемой величины

Имя,

Обязательный операнд

 

 

число,

 

 

 

СЧА

 

B

Значение, которое присвоено, прибавлено или вы-

Имя,

Обязательный операнд

 

чтено из сохраняемой величины

число,

 

 

 

СЧА

 

Примеры.

1.SAVEVALUE 25, 7

Значение сохраняемой величины Х25 становится равным 7.

2.SAVEVALUE WES+, 2

Значение сохраняемой величины X$WES увеличивается на 2.

Оператор MATRIX

Матрица сохраняемых величин – это совокупность параметров, предназначенная для сохранения скалярных значений, организованная в виде двумерной матрицы. Адресация такой величины имеет вид МХ ( I, J ), где МХ – стандартное имя матрицы; I,J – номера или имена элемента матрицы МХ.

Оглавление

В.М. Черненький. Адаптированное описание системы имитационного моделирования GPSS

16

Оператор определяет матрицу сохраняемых величин. Имеет декларирующий характер и располагается выше описаний треков.

Синтаксис. <имя матрицы> MATRIX A, B, C

имя матрицы – числовое или символическое имя, обязательный параметр. Расположен в поле метки.

А- неиспользуемое поле (для совместимости с ранними версиями GPSS ).

В- максимальное количество элементов в первом измерении. (количество строк матрицы). Допустимое значение – целое число. Обязательный операнд

С - максимальное количество элементов во втором измерении (количество столбцов матрицы). Допустимое значение – целое число. Обязательный операнд.

Пример.

REZULT MATRIX ,15, 3

Оператор определяет матрицу с именем REZULT с 15 строками и 3 столб-

цами.

Блок MSAVEVALUE

Назначение. Блок присваивает, увеличивает или уменьшает значение элемента матрицы сохраняемых величин.

Синтаксис. MSAVEVALUE A[±], B, C, D

Операнд

Назначение

Значение

Значение по умолчанию

A

Имя изменяемой матрицы сохраняемых величин

Имя,

Обязательный операнд

 

 

число,

 

 

 

СЧА

 

B

Номер строки матрицы

Имя,

Обязательный операнд

 

 

число,

 

 

 

СЧА

 

C

Номер столбца матрицы

Имя,

Обязательный операнд

 

 

число,

 

 

 

СЧА

 

D

Значение, которое присвоено, прибавлено или вы-

Имя,

Обязательный операнд

 

чтено из элемента матрицы

число,

 

 

 

СЧА

 

Особенности выполнения.

1.Матрица должна быть предварительно определена с помощью оператора определения данных MATRIX.

2.Если операнд А сопровождается знаком «+», то к значению элемента матрицы, определенного операндами А , B и C, прибавляется значение, определенное операндом D.

3.Если операнд А сопровождается знаком «-»,то из значения элемента матрицы, определенного операндами А, B и C, вычитается значение, определенное операндом

D.

4.Если за операндом А нет знака, то значение элемента матрицы, определенного операндами А, B и C, заменяется значением, определенным операндом D.

Пример.

MSAVEVALUE DATA, 4, 5, P7

Элементу матрицы DATA с номером строки 4 и номером столбца 5 присваивается значение седьмого параметра активного транзакта.

Обращение к этому элементу в арифметических и других выражениях имеет вид MX(4, 5)

Оглавление

В.М. Черненький. Адаптированное описание системы имитационного моделирования GPSS

17

Оператор VARIABLE

VARIABLE является оператором-функцией, определяющим арифметическую целую переменную, имеющую имя V I, где V – стандартное обозначение переменной типа оператор-функция, I – номер или имя функции VARIABLE.

Синтаксис: <имя переменной> VARIABLE <арифметическое выражение> Имя переменной - символическое или числовое имя переменной, ставится в поле меток. Арифметическое выражение определяет значение данной переменной.

Примеры.

1.5 VARIABLE 46+P6

 

Арифметическая переменная с числовым именем 5 равна сумме числа 46 и значе-

ния параметра 6 активного транзакта.

 

Обращение к этой переменной имеет вид V5.

2.

SUM VARIABLE (P3 + Р4)/5

Арифметическая переменная с символическим именем SUM равна сумме значений 3-го и 4-го параметров активного транзакта, деленной на 5.

Обращение к этой переменной имеет вид V$SUM. Арифметическая переменная может использоваться как:

элемент другой арифметической переменной, булевой переменной;

аргумент функции, таблицы;

операнд блока

Оператор FVARIABLE

FVARIABLE является оператором-функцией, определяющим арифметическую переменную с фиксированной точкой, имеющую имя FV I, где FV – стандартное обозначение, I – номер или имя функции FVARIABLE.

Синтаксис. <имя переменной> FVARIABLE <арифметическое выражение>

Имя переменной - символическое или числовое имя переменной, ставится в поле меток. Арифметическое выражение определяет значение переменной.

Пример.

PBR

FVARIABLE (Sl-S$CAN)/5 +

3.6

Ссылка на арифметическую переменную с фиксированной точкой выполняется так

же, как и на арифметическую переменную.

 

Оператор BVARIABLE

 

Оператор определяет булеву переменную.

 

Синтаксис.

<имя переменной> BVARIABLE

<булево выражение>

Выражения в операторе BVARIABLE кроме логических операторов могут включать операции отношений и вызовы библиотечных процедур.

Пример.

FLAG BVARIABLE BV$CAN1’AND’BV$CAN2

Значение переменной FLAG равно1, если булевы переменные CAN1 и CAN2 имеют значение TRUE, и равна 0 в других случаях

Оператор FUNCTION (базовое описание)

Оператор определяет функцию GPSS, заданную таблично.

Синтаксис. <имя функции> FUNCTION А, ВN

имя функции – числовое или символическое имя, обязательный параметр.

А - аргумент функции; обязательный операнд. Допустимые значения – имя, число, СЧА.

Оглавление

В.М. Черненький. Адаптированное описание системы имитационного моделирования GPSS

18

В- тип функции (одна буква) и N - количество пар данных в списке данных функции. Обязательный операнд.

Обращение к функции выглядит, как FN I, где I – имя функции.

Существует несколько типов функций. Тип определяется операндом В операто-

ра FUNCTION.

За строкой FUNCTION А, ВN сразу же должна следовать строка, содержащая список пар данных, разделенных символом «/». Каждая пара данных определяет значения аргумента X и значения функции Y, разделенные запятой. Список данных используются для вычисления значения функции по заданным значениям аргумента.

Вданном транскрипции оператора рассмотрим 2 типа функций. Полное изложение вариантов задания функции приведено в приложении.

1.Функции типа С – непрерывные числовые функции.

Всписке данных функций типа С значения X и Y должны быть целочисленными (Integer) или вещественными (Real). Значения X и Y хранятся, как числа с плавающей точкой двойной точности.

Вычисление функции начинается с вычисления аргумента. Далее определяется

интервал (Xi;Xi+1), на котором находится вычисленное значение аргумента и на этом интервале выполняется линейная интерполяция двойной точности с использованием соот-

ветствующих значений Yi и Yi+1. Результатом является значение функции двойной точности. Если аргумент попадает за предельные значения области определения функции, возвращается значение функции в ближайшей предельной точке.

Примеры.

1) ART FUNCTION X1, C3 1.1,10.1/20.5,98.7/33.3,889.2

Оператор определяет кусочно-линейную функцию с двумя линейными участками. Если мы обращаемся к функции FN$ART, то по значению сохраняемой величины Х1 вычисляется функция в соответствии с заданной совокупностью точек.

Пример приближенного представления обратного экспоненциального распре-

деления со средним, равным 1.

2)

Xpdis FUNCTION RN1, С24

0,0/.1,.104/.2, .222/.3, .355/.4, .509/.5, .69/.6,.915/.7,1.2/.75,1.38

.8, 1.6/.84, 1.83/.88, 2.12/.9, 2.3/.92, 2.52/.94, 2.81/.95, 2.99/.96,3.2

.97, 3.5/.98, 3.9/.99, 4.6/.995, 5.3/.998,6.2/.999,7/.9998,8

2.Функции типа D - дискретные функции.

Всписках данных функций типа D значения X должны быть целочисленными или вещественными, а значения Y – целочисленными, вещественными или именами.

Функция типа D задает одно и то же значение функции Yi для всех значений аргумента Xi-1< X ≤Xi. Значения X в списке данных функции должны быть неубывающими. Внутренне они сохраняются, как числа двойной точности. Когда вычисляется функция, значения X в списке данных функции просматриваются от наименьшего к наибольшему. Когда найдено значение X, которое больше или равно текущему значению аргумента, возвращается соответствующее ему значение Y. Если такое значение X отсутствует, возвращается значение Y или именованная величина, соответствующая самому большому значению X.

Примеры.

1) LIR FUNCTION X$A2, D5 1.1,6.9/2.1,7/6.33,9.4/7,10/9.9,12.01

2)

RAF FUNCTION RN1, D5

Оглавление

В.М. Черненький. Адаптированное описание системы имитационного моделирования GPSS

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]