Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Opisanie_yazyka_GPSS_World.rtf
Скачиваний:
44
Добавлен:
16.03.2015
Размер:
1.52 Mб
Скачать

2.4.2.2 Булевы переменные

Булевы переменные позволяют принимать решения в зависимости от значений СЧА и состояния объектов GPSS, используя для этого только одно выражение.

Булевы переменные – это логические выражения, состоящие из различных СЧА и (или) других булевых переменных. В булевой переменной проверяется одно или несколько логических условий. Результатом проверки является единица (истина), если условия выполняются, и ноль (ложь) – в противном случае.

Стандартный числовой атрибут BV$<имя переменной> используется для обращения к значениям булевых переменных.

При описании булевых переменных используются три типа операторов: логические, булевы и операторы отношения (условные операторы).

Логические операторысвязаны c такими ресурсами, как устройства, накопители и логические ключи. Они используются для определения состояния данных объектов. Логические операторы, используемые в GPSS, представлены в таблице 5

Таблица 5 – Логические операторы, используемые в GPSS

Логические операторы

Значение оператора, отражающее состояние ресурса

FUj или Fj

Равно 1, если устройство j занято или обслуживает прерывание, иначе – 0

FNUj

Равно 1, если устройство j не занято и не обслуживает прерывание, иначе – 0

Ij

Равно 1, если устройство j обслуживает прерывание, иначе –0

NIj

Равно 1, если устройство j не обслуживает прерывание, иначе – 0

NUj

Равно 1, если устройство j не используется, в противном случае – 0

UJ

Равно 1, если устройство j используется, иначе – 0

SFJ

Равно 1, если накопитель j заполнен, иначе – 0

SNFj

Равно 1, если накопитель j не заполнен, иначе – 0

SEj

Равно 1, если накопитель j пуст, иначе – 0

SNEj

Равно 1, если накопитель j не пуст, иначе – 0

SVj

Равно 1, если накопитель j находится в состоянии использования, иначе – 0

SNVJ

Равно 1, если накопитель j не используется, иначе – 0

LRj

Равно 1, если логический ключ j выключен, иначе – 0

LSj

Равно 1, если логический ключ j включен, иначе – 0

ПРИМЕР 7.

VAR1BVARIABLEFNU$CHAN

Переменная VAR1 принимает значение «истина», если устройство с именемCHANне занято и не обслуживает прерывание.

Условные операторы (операторы отношения)выполняют алгебраическое сравнение операндов. Операндами могут быть константы или стандартные числовые атрибуты. Операторы отношения записываются в кавычках:

‘G’ (Greater) – больше;

‘L’ (Less) – меньше;

‘E’ (Equal) – равно;

‘NE’(Not Equal) – не равно;

‘LE’ (Less than or Equal) – меньше или равно;

‘GE’ (Greater than or Equal) – больше или равно.

ПРИМЕР 8.

VAR2BVARIABLEV$FIXED’G’10

Переменная VAR2 принимает значение «истина», если значение переменной с именемFIXEDбольше 10.

Булевы операторы: ‘OR’ – оператор «или», и ‘AND’ – оператор «и». Оператор «или» проверяет, выполняется ли хотя бы одно из проверяемых условий. Оператор «и» требует выполнения обоих условий. В поле операндов используются комбинации логических, условных и булевых операторов.

ПРИМЕР 9.

VAR3 BVARIABLE (V$FIXED’G’10)’AND’ FNU$CHAN

Переменная VAR3 принимает значение «истина», если значение переменной с именемFIXEDбольше 10 и одновременно устройство с именемCHANне занято и не обслуживает прерывание.

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