АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Организация циклов

Читайте также:
  1. D) этот период состоит из 2- 3 мезоциклов восстановительного характера
  2. I. Организация выполнения выпускной квалификационной работы
  3. II. Организация выполнения выпускной квалификационной
  4. II. Организация деятельности по трансфузии (переливанию) донорской крови и (или) ее компонентов
  5. II. Организация работы Комиссии по повышению квалификации и в целом всей деятельности по повышению квалификации
  6. II. Основание Первого Афинского союза. Организация Делосской симмахии
  7. II.2.1.Организация представительной власти в России. Комитет конституционного надзора
  8. III.3.5. Организация работы Правительства Российской Федерации
  9. IV раздел. Организация рациональной двигательной активности
  10. Pациональная организация труда и отдыха в экзаменационный период
  11. V.5 ОРГАНИЗАЦИЯ КРЕДИТНОГО ПРОЦЕССА В КОММЕРЧЕСКОМ БАНКЕ
  12. VI. Организация работы

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

 

С помощью параметров транзактов в программе можно организовать циклы. Для этого используется блок LOOP (ОРГАНИЗОВАТЬ ЦИКЛ). Он управляет количеством повторных прохождений транзактом определенной последовательности блоков модели.

Вид и общая форма записи блока:

 

 

LOOP А[,B]

 

 

А – параметр транзакта, используемый для организации цикла.

В – метка начального блока цикла.

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

Арифметические переменные. Арифметическая переменная в GPSS является СЧА, определяемым пользователем. Обозначение арифметической переменной имеет вид V»имя числовое» или V$»имя символьное».

Величиной арифметической переменной является величина заданного пользователем арифметического выражения, определяющего эту переменную. Арифметическое выражение - набор данных, связанных арифметическими операциями. В арифметическом выражении можно использовать следующие знаки арифметических операций: + - сложить, - вычесть, # - умножить, / - разделить, @ - взять остаток от деления, ^ - возведение в степень.

Арифметическая переменная задается с помощью специальной команды, следующего формата.

 

Поле имени Поле операции Поле операндов

«имя» VARIABLE «арифметическое выражение»

 

или

Поле имени Поле операции Поле операндов

«имя» FVARIABLE «арифметическое выражение»

Арифметическое выражение составляется из СЧА, знаков арифметических операций и круглых скобок.

Примеры.

· Пусть переменная V$SUM описана строкой

SUM VARIABLE S1+S2.

Это значит, что значение V$SUM будет определяться как Суммарное содержимое первой и второй памяти.

· Если переменную V$CAP описать в виде CAP VARIABLE R*8+5*8, то её значением будет сумма числа свободных и числа занятых единиц той памяти, номер которой записан в восьмом параметре транзакта.

При описании арифметических переменных необходимо иметь в виду следующее.

1. Равноприоритетные операции в арифметическом выражении при отсутствии скобок выполняются слева направо. Операции #, /, @ имеют приоритет по отношению к операциям +, -.

2. Если в строке описания арифметической переменной в поле операции записано VARIABLE, переменная считается целой, в случае записи FVARIABLE - вещественной. При вычислении целой переменной от результатов всех промежуточных операций берется целая часть. При вычислении вещественной переменной этого не делается. Однако окончательный результат округляется в меньшую сторону, как в целой, так и в вещественной переменной. Например, если в модель включены строки

3. Синтаксис арифметических выражений соответствует синтаксису, принятому в языках программирования высокого уровня. Например, аргументы стандартных функций типа SIN, EXP,SQR, и т.п. должны заключаться в скобки.

 

Булевские переменные. Булевской переменной является СЧА, определяемый пользователем. Обозначение булевской переменной имеет вид BV»имя числовое» или BV$»имя символьное». Значением булевской переменной является число 1, когда булевское выражение истинно и число 0 - в противном случае.

Булевская переменная задается с помощью специальной команды, следующего формата.

Поле имени Поле операции Поле операндов

«имя» ВVARIABLE «булевское выражение»

 

Булевское выражение составляется также как и арифметическое выражение, но вместо арифметических операций проверяются различные логические условия. Булевское выражение включает следующие типы операторов: логические операторы, операторы отношения, булевские операторы.

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

Основные логические операторы с указанием условий, накладываемых на соответствующий объект:

 

FI Устройство захвачено,
FNI Устройство не захвачено
FU Устройство занято
FNU Устройство свободно
F Устройство не свободно,
FNV Устройство недоступно
FV Устройство доступно
SF Многоканальное устройство заполнено
SNF Многоканальное устройство не заполнено
SE Многоканальное устройство пусто
SNE Многоканальное устройство не пусто
SV Многоканальное устройство доступно
SNV Многоканальное устройство недоступно
LS Логический переключатель установлен
LR Логический переключатель сброшен

 

Оператор отношения помещается между двумя числовыми величинами (константами или СЧА) и выражает условие, которое может существовать между ними: G - больше, L - меньше, E - равно, NE - не равно, LE - меньше или равно, GE - больше или равно.

Если СЧА в логическом выражении не входит в отношение, то ему приписывается логическое значение (в этом случае СЧА должен быть заключен в скобки). Логическое значение “ложно” приписывается в случае, если численно СЧА равен нулю, во всех остальных случаях приписывается значение “истинно”.

Булевский оператор помещается между двумя логическими величинами и дает логический результат. В качестве булевских опреаторов используют знаки «*», соответствующий логическому «И» и «+», соответствующий логическому «ИЛИ». Операция умножения имеет приоритет по отношению к операции сложения.

Примеры.

· 5 ВVARIABLE SNE4 - булевская переменная 5 (ВV5) равна 1, если многоканальное устройство 4 не пусто.

· BLUE ВVARIABLE R$MNU ´G´ 7 - булевская переменная (ВV$ BLUE) равна 1, если оставшаяся емкость многоканального устройства MNU больше 7.

· 16 ВVARIABLE (V2 ´E´ 3) * (FNI2 + LR4) - булевская переменная 16 (ВV16) равна 1, если V2 = 3 при условии, что устройство 2 не занято блоком PREEMPT или логический переключатель LR4 включен.

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)