Баннер
Баннер

Программирование в GPSS - Блоки COUNT и SELECT

Оглавление
Программирование в GPSS
прагматический аспект
Классы объектов языка GPSS
Интерпретации транзактов
Интерпретаций устройст
Элементы реальных систем
Очереди и таблицы
Блоки
Модельное время
Общеалгоритмические средства GPSS
Стандартные числовые атрибуты
Арифметические переменные
Логические (булевы) переменные
Функции
Ячейки и матрицы ячеек
Задание начальных значений ячеек и матриц
Объектно-ориентированные средства GPSS
Создание и уничтожение транзактов
Задержка транзактов в блоках ADVANCE
Операции занятия и освобождения устройств
Операции захвата и освобождения устройств
Операции блокирования и разблокирования устройств
Описание памятей и работа с ними
Операции с ключами
Блок GATE
Синхронизация транзактов
Изменение параметров транзактов
Управление маршрутами транзактов в модели
Сбор статистики с помощью очередей
Сбор статистики с помощью таблиц
Стандартные числовые атрибуты
Атрибуты транзактов
Атрибуты блоков
Системные атрибуты
Атрибуты оборудования
Статистические атрибуты
Атрибуты ячеек SAVEVALUE
Функции и переменные
Атрибуты списков пользователя
Атрибуты группы
Системные атрибуты
Блоки COUNT и SELECT
Все страницы
Блоки COUNT и SELECT

Блок COUNT служит для определения количества элементов, удовлетворяющих указанному условию. Он может содержать до пяти полей:

 

COUNT lo A, B, C [ , D, E]

где lo – логический оператор. Если поля D, E отсутствуют, то lo представляет собой мнемонику СЛА, т.е. для устройств это будет FU, FNU, и т.д., для памятей – SE, SNE и т.д., для ключей – LR или LS;

A – номер параметра входящего транзакта, в который помещается результат подсчета объектов;

B – нижний предел номер анализируемых объектов;

C – верхний предел номеров объектов.

Тип объектов задавать не нужно, т.к. он однозначно определяется мнемоникой логического оператора. Множество объектов просматривается и подсчитывается число таких из них, для которых указанный СЛА имеет значение «истина». Полученное число заносится в параметр транзакта, заданный в поле A.

Если заданы также поля D и E, то логический оператор lo является оператором сравнения, т.е. имеет вид L, или LE, E, NE и т.д. В поле D тогда задается некоторая величина, а в поле E – СЧА объектов, сравниваемый с величиной поля E. СЧА задается в виде мнемоники без указания номера объекта, т.к. диапазон номеров объектов определен в полях B и C. Например, СЧА может быть задан в виде обозначения SR – тогда будут просматриваться памяти и их коэффициент использования будет сравниваться с величиной в поле E.

Пример:

COUNT LE 1, 1, 5, X10, FC.

Здесь в параметр 1 будет записано число устройств из множества от 1-го до 5-го устройства, у которых атрибут FC (счетчик входов) меньше или равен X10.

Блок SELECT применяется для нахождения номера первого объекта (из определенного диапазона объектов), удовлетворяющего заданному условию. Операции и операнды этого блока такие же, как и у блока COUNT, с той лишь разницей, что вместо числа соответствующих условию объектов находится номер первого такого объекта. И еще одно отличие состоит в том, что логический оператор здесь может быть задан не только теми обозначениями, которые предусмотрены для блока COUNT, но также еще двумя: MIN и MAX.

Пример:

SELECT MIN 1,1,8,,Q.

Здесь будет найден номер самой короткой очереди из восьми (с первой по восьмую) и записан в первый параметр транзакта.





Читайте также:

Добавить комментарий


Защитный код
Обновить




Разделы



Главная GPSS Программирование в GPSS