
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Топ:
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Интересное:
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Дисциплины:
![]() |
![]() |
5.00
из
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
К ним относятся переменные, функции и хранимые значения.
Арифметическая переменная в GPSS является СЧА, определяемым пользователем. Ссылка на арифметическую переменную производится с помощью СЧА, Vf или V$ имя, где f - номер переменной, а "имя" - символическое имя в случае символического определения. Арифметическая переменная определяется с помощью задаваемого пользователем арифметического выражения, являющегося набором СЧА, связанных арифметическими операциями и круглыми скобками. В GPSS/PC используются арифметические операции: + (сложение), – (вычитание), # (умножение), / (деление), \ (целочисленное деление), @ (деление по модулю), при котором результат равен остатку от деления, ^ (возведение в степень). При записи арифметических выражений могут использоваться встроенные функции: ABS(), ATN(), SIN(), COS(), TAN(), SQR(), EXP(), LOG(), INT ().
В арифметическом выражении последовательность вычислений определяется приоритетом операций и круглыми скобками.
Арифметическая переменная определяется следующим образом. Имя переменной помещается в поле имени, а в поле операции помещается слово VARIABLE или FVARIABLE для целой или действительной переменной. В поле операндов записывается арифметическое выражение.
Отличие переменных целых и действительных заключается в следую-щем. При вычислении целых переменных отбрасываются дробные части всех промежуточных результатов. При вычислении действительной переменной действия выполняются с дробными числами и отбрасывается дробная часть только результата. Операция деления по модулю @ для действительной пе-ременной не используется.
Булевские переменные дают возможность принимать решения в зави-симости от состояния и значения многих объектов GPSS, используя для этого только один блок. Булевские переменные описываются и используются так же, как и арифметические переменные. Булевская переменная определяется с помощью задаваемого пользователем логического выражения, являющегося набором СЧА, операций отношения: ‘L’, ‘LE’, ‘G’, ‘GE’, ‘E’, ‘NE’, логиче-ских указателей, определяющих состояние устройств (F$ имя, FI$ имя, FV$ имя), накопителей (SE$ имя, SF$ имя, SV$ имя), логических ключей (LS$ имя) и логических операторов (‘NOT’, ‘AND’, ‘OR’). Булевская переменная принимает значение 1, если логическое выражение ИСТИННО, и 0, если ЛОЖНО. Например, переменная STOR BVARIABLE ‘NOT’F$CPU’AND’Q$BUF’LE’5 примет значение 1, если устройство CPU не занято и длина очереди BUF меньше или равна 5.
Хранимыми значениями называются постоянные ячейки памяти, в которые можно обратиться из любого места модели во время моделирования. Они являются СЧА и обозначаются XJ или Х$ имя, где J – число, а "имя" – символическое имя.
|
Значение СЧА изменяется при входе транзактов в блок SAVEVALUE (СОХРАНИТЬ ВЕЛИЧИНУ). В операнде А указывается номер или символи-ческое имя хранимого значения. В поле В указывается СЧА, значение кото-рого необходимо сохранить.
Блок SAVEVALUE может использоваться в режиме накопления. Тогда в поле А после имени ставится знак + или –.
Матрицы сохраняемых величин дают возможность упорядочить сохра-няемые значения в виде матриц m * n, где m – число строк, n – число столб-цов матрицы. Каждая матрица должна быть перед началом моделирования определена с помощью оператора MATRIX (определить матрицу), имеющего следующий формат:
Имя MATRIX A, B, C.
Поле A оператора не используется и сохранено в GPSS/PC для совмес-тимости со старыми версиями GPSS. В полях B и C указываются соответст-венно число строк и столбцов матрицы, задаваемые константами, причем общее число элементов, равное произведению B на C, не должно превышать 8191.
Например, оператор MTAB MATRIX,10, 2 определяет матрицу с именем MTAB, содержащую десять строк и два столбца.
В начале моделирования элементы всех определенных матриц устанавливаются равными 0. Для установки отличных от 0 начальных значений отдельных элементов матриц используется оператор INITIAL, имеющий следующий формат: INITIAL MX $ имя (a, b), значение или INITIAL MXj (a, b), значение. Здесь имя и j – соответственно имя и номер матрицы; a и b – номера соответственно строки и столбца, задаваемые константами; значение – присваиваемое элементу матрицы начальное значение, задаваемое также константой.
Для изменения значений элементов матриц в процессе моделирования служит блок MSAVEVALUE (сохранить значение элемента матрицы), имеющий следующий формат:
Имя MSAVEVALUE A, B, C, D.
В поле A указывается имя или номер матрицы, после которого, как и в блоке SAVEVALUE, может стоять знак + или –. В полях B и C указываются номера соответственно строки и столбца, определяющие изменяемый элемент матрицы. В поле D указывается величина, используемая для изменения заданного элемента матрицы.
|
Например, MSAVEVALUE 5, 3, 2, X1, MSAVEVALUE MTAB +, P $ ROW, P $ COL, 1
Матрицы имеют единственный СЧА с названием MX, ссылка на который записывается в следующем виде MX $ имя (a, b) или MXj (a, b). Здесь имя и j - соответственно имя и номер матрицы; a и b - номера соответственно строки и столбца, задаваемые константами или ссылками на СЧА параметров транзактов.
Например:
MX5 (2, 1),
MX $ MTAB (P $ ROW, P $ COL)
Косвенная адресация
Иногда при моделировании возникают ситуации, при которых в качестве исходного данного должен использоваться СЧА, номер которого зависит от свойств транзакта, производящего ссылку на этот СЧА.
В GPSS/PC косвенная адресация осуществляется через значения параметров транзактов. При записи между соответствующим СЧА и номером параметра ставится знак *. Например, Q*6 - величина текущего содержимого очереди, номер которой записан в шестом параметре транзакта; FN*3 - значение функции, номер которой записан в третьем параметре транзакта.
|
|
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!