"СПИСОК ОПЕРАТОРОВ GPSS, НЕ ЯВЛЯЮЩИХСЯ БЛОКАМИ"
Некоторые из рассмотренных в руководстве операторов не соответствуют непосредственно блокам в языке. Попадают в эту категорию неблочных операторов такие операторы , как BVARIABLE, CLEAR, RMULT и STORAGE. В руководстве было введено 19 таких операторов; 15 операторов из 19 включены в данное приложение.
Четыре оператора END (ЗАКОНЧИТЬ), JOB (ПРОДОЛЖИТЬ), RESET (СБРОСИТЬ) и SIMULATE (МОДЕЛИРОВАТЬ) не вошли в это приложение, потому что каждый из них состоит только из одного слова: или END, или JOB и т.д., помещаемого в поле операции в строке.В этих операторах не используется ни поле имени, ни поле операндов. (Как отмечалось ранее, существует еще избирательная карта RESET. В этой карте требуется использование поля операндов. Но, поскольку избирательная карта RESET не была рассмотрена в руководстве подробно, она не включена в данное приложение.)
Все 15 неблочных операторов приведены в алфавитном порядке в соответствии с их операцией. В столбцах приложения, соответствующих полям имени и операндов, содержится следующая информация:
- Вкратце описывается роль поля.
- Затем дается сводка возможностей, представляемых
Если информация обязана быть в данном месте, а программист имеет несколько возможностей для ее ввода, эти возможности перечислены в фигурных скобках.
Если какая-либо информация может быть введена по желанию программиста, то такая доступная программисту возможность (или возможности) указывается в квадратных скобках. Наконец, если информация должна присутствовать, и не имеется никаких иных форм ее записи, то ни фигурные, ни квадратные скобки не используют.
Примеры записей фигурных и квадратных скобок см. в приложении 2 на рис. P2.1 и P2.2. Однако в приложении 1 возникает необходимость в трех дополнительных типах записи.
Эти случаи используют специфические формы общего обозначения СЧАj и СЧА $ имя. В частности, вместо любого применимого СЧА можно использовать только какой-либо один или несколько.
Ниже указаны эти возможности.
- 1. По отношению к карте CLEAR специфическими формами являются Xj, Х $ имя, XHj и ХН $ имя.
- 2. По отношению к карте INITAL специфическими формами являются LSj, LS$ имя, MXj, МХ $ имя, MXj, MH$ имя, Xj, X$ имя, XHj и XH$ имя.
- 3. Наконец в карте STORAGE, используемой для определения емкости нескольких многоканальных устройств, специфическими формами являются Sj и S$ имя.
Таким образом, это приложение предназначено для того, чтобы собрать все эти операторы вместе в качестве справочной таблицы для пользователя, которому может потребоваться срочная консультация по поводу правила составления некоторого неблочного оператора.
Поле имени | Поле операции | A | B | C | D | E | |
Имя булевской переменной { k, имя} | BVARIABLE (булевская переменная) | Комбинация определений числовых данных, операций отношения, логических атрибутов и булевских операторов. | |||||
Определения числовых данных {k,СЧА j, СЧА $имя, СЧА *j} | Операции отношения 'G' 'L' 'E' 'GE' 'LE' 'NE' | Логические атрибуты1 FU или F FNU FI FNI LS LR SE SNE SF SNF | Булевские операторы +(или), *(и) |   | |||
  | CLEAR (очистить) | Сохраяемая величина (сохраняемые величины) , не подлежащая обнулению [Xj, X$имя, XHj, XH$имя] |   |   |   |   | |
Символи ческое имя элемента | EQU (эквива лентность) | Числовой эквивалент символического имени k | Мнемони- ческое обозначение для типов элемента |   |   |   | |
Имя функции {k, имя } | FUNCTION (функция) | Аргумент функции {СЧАj, СЧА$имя, СЧА*j за исключением MX, MH} | Тип функции и число точек { C D E L M} k |   |   |   | |
Карта (карты), следующая за функцией X1, Y1/X2, Y2/X3, Y3/и т.д. (X1 должна начинаться в первом столбце; MX и MH не разрешены в качестве величин Y в функция E- или M- типа) | |||||||
  | INITIAL (инициа- лизировать) | Устанав ливаемые логические переключатели {LSj , LS$имя} | Разделитель в случае нескольких входов [/] |   |   |   | |
Матричные сохраняемые величины {MXj, MX$имя, MHj, MH$имя} | Начальное значение [-] k | Разделитель на случай нескольких входов [/] |   |   | |||
Сохраняемые величины {Xj, X$имя, XHj, XH$имя} | Начальное значение [-] k | Разделитель на случай нескольких входов [/] |   |   | |||
Имя матрицы {k, имя} | MATRIX (задать матрицу) | Тип матрицы {X, H} | Число строк, k | Число столбцов, k |   |   | 1 Формируются посредством добавления j, $имя, *j к перечисленным логическим операторам |
Имя таблицы {k, имя} | QTABLE (Q-таблица) | Имя очереди { имя, k} | Верхний предел левого частотного класса, k | Ширина промежутков между частотными классами, k | Число частотных классов, k |   | |
  | REALLOCATE (перераспре делитель) | Мнемоническое обозначение предопре- деляемого элемента | Общее число единиц этого элемента после предопре- деления, k | Разделитель в случае нескольких входов [,] |   |   | |
  | RMULT (установить значение генератора) | Положительная нечетная целая константа, которая может вводиться в один или несколько операндов от A до H для определения нестандартного начального множителя для датчиков случайных чисел соответственно с 1-го по 8-й. По умолчанию текущее значение множителя не изменяется. В случае нескольких входов разделителем является запятая. | |||||
  | START (начать) | Начальное значение счетчика числа завершений, k | Подавление печати, [NP] | Начальное значение счетчика промежу точной выдачи, [k] | Признак распечатка цепей, [l] |   | |
Имя многока нального устройства {k, имя} | STORAGE (многока нальное устройство) | Емкость многока нального устройства, k |   |   |   |   | |
  | STORAGE (многока нальное устройство) | Ссылка на многока нальное устройство, {Sj, S$имя} | Емкость многока нального устройства, k | Разделитель в случае нескольких входов, [/] |   |   | |
Имя таблицы, {k, имя} | TABLE (таблица) | Аргументы таблицы {k, СЧАj, СЧА $имя, СЧА*j} | Верхний предел левого частотного класса, k | Ширина промежутка между частотными классами, k | Кол-во частотных классов, [W] k | Времен ной интервал для RT-таблиц, k | |
Имя переменной, {k, имя} | VARIABLE; FVARIABLE (переменная; переменная с плавающей запятой) | Комбинации числовых данных и арифметических операндов |   |   | |||
Числовые данные | Арифметические операторы | ||||||
{k,СЧА j, СЧА $имя, СЧА *j} | + - * / @ (только для VARIABLE) |