Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Модуль Forms 65535
ТЕХНОЛОГИИ ДОСТ... 63078
Имитационное мо... 58363
Реклама
Сейчас на сайте
Гостей: 8
На сайте нет зарегистрированных пользователей

Пользователей: 13,092
новичок: VinDrossel
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Моделирование работы узла коммутации сообщений на GPSS + Пояснительная з...
Расчет мер близости на отношениях на Delphi + Пояснительная записка
Моделирование работы аэропорта на GPSS + Пояснительная записка

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Блоки работы с логическими ключами

Блок LOGIC

Назначение. Блок изменяет состояние логического ключа.

Синтаксис. LOGIC X A

Назначение операндов.

Операнд

Назначение

Значение

Значение по умолчанию

X

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

S,R или I

Обязательный параметр

A

Имя логического ключа

Имя,

число,

СЧА

Обязательный параметр

Особенности выполнения.

1.      Блок LOGIC предназначен для того, чтобы устанавливать, сбрасывать или инвертировать (менять на противоположное) состояние логического ключа.

2.      Логический ключ может находиться в двух состояниях: «ON» (включен или 1) и «OFF» (выключен или 0).

3.      Если логический оператор равен «S» или «R», то логический ключ, заданный операндом А, устанавливается во включенное или выключенное состоянии, соответственно.

4.      Если логический оператор равен «I», то логический ключ, заданный операндом А, инвертируется. Это значит, что если он был включен, он будет выключен и наоборот.

Примеры использования.

. LOGIC  S  SWITCH

. LOGIC R  SWITCH

. LOGIC I  SWITCH

 

Блоки работы с регистраторами очередей

Блок QUEUE

Назначение. Блок отмечает вход транзакта в регистратор очереди.

Синтаксис. QUEUE A[, B]

Назначение операндов.

Операнд

Назначение

Значение

Значение по умолчанию

A

Имя регистратора очереди

Имя, число,

СЧА

Обязательный операнд

B

Число, на которые увеличивается длина очереди

Имя, число,

СЧА

1

 

Особенности выполнения.

1.                  Блок QUEUE всегда принимает транзакты

2.                  После прохождения транзакта через блок соответствующим образом изменяются СЧА регистратора очереди и накапливаемая по данной очереди статистика

 

Примеры использования

QUEUE SYSTEM

QUEUE SYSTEM,2

 

Блок DEPART

Назначение. Блок отмечает выход транзакта из регистратора очереди.

Синтаксис. DEPART A[, B]

Назначение операндов.

Операнд

Назначение

Значение

Значение по умолчанию

A

Имя регистратора очереди

Имя, число,

СЧА

Обязательный операнд

B

Число, на которые уменьшается длина очереди

Имя, число,

СЧА

1

Особенности выполнения.

1.                  Блок DEPART всегда принимает транзакты

2.                  После прохождения транзакта через блок соответствующим образом изменяются СЧА регистратора очереди и накапливаемая по данной очереди статистика

Примеры использования.

QUEUE SYSTEM

QUEUE SYSTEM,2

 

Операторы определения данных GPSS World

 

Оператор VARIABLE

Оператор определяет арифметическую целую переменную.

Синтаксис. <имя переменной> VARIABLE <арифметическое выражение>

Имя переменной - символическое или числовое имя переменной, ставится в поле меток.

Арифметическое выражение определяет данную переменную.

 

Примеры использования.

5      VARIABLE R$CAN+P6

Арифметическая переменная с числовым именем 5 . равна сумме числа свободных единиц памяти CAN и значения параметра 6 активного транзакта.

 

SUM VARIABLE (P3 +  Р4)/5

Арифметическая переменная с символическим именем SUM равна сумме значений 3-го и 4-го параметров активного транзакта, деленной на 5.

Обращение к переменной с числовым или с символическим именем выполняться соответственно как V5 илиV$SUM

Значение арифметической переменной может использоваться как:

    элемент другой арифметической переменной, булевой переменной;

    аргумент функции, таблицы;

    операнд блока

 

Оператор FVARIABLE

Оператор определяет арифметическую переменные с фиксированной точкой.

Синтаксис. <имя переменной> FVARIABLE <арифметическое выражение>

Имя переменной - символическое или числовое имя переменной, ставится в поле меток.

Арифметическое выражение определяет данную переменную.

 

Пример использования.

PBR        FVARIABLE   (Sl-S$CAN)/5  +   3.6

Ссылка на арифметическую переменную с фиксированной точкой выполняется так же, как и на арифметическую переменную.

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

 

Оператор BVARIABLE

Оператор определяет булеву переменную.

Синтаксис. <имя переменной> BVARIABLE <булево выражение>

Выражение, содержащееся в команде BVARIABLE, вычисляется и конечный результат преобразуется в целое значение 0, если равен нулю, или в целое значение 1, если отличен от нуля.

Выражения в команде BVARIABLE кроме логических операторов могут включать арифметические операторы и вызовы библиотечных процедур.

 

Пример использования.

FLAG  BVARIABLE  BV$CAN1’ANDBV$CAN2

Переменная FLAG равна1, если булевы переменные CAN1 и CAN2 имеют значение TRUE, и равна 0 в других случаях

 

Оператор MATRIX

Оператор определяет матрицу сохраняемых величин.

Синтаксис. <Имя матрицы>  MATRIX   A, B, C, [D], [E], [F], [G]

Имя матрицы –числовое или символическое имя Обязательный параметр.

А - Неиспользуемое поле (для совместимости с ранними версиями GPSS).

В - Обязательный операнд. Максимальное количество элементов в первом измерении. Количество строк матрицы. Допустимое значение – целое число.

С - Обязательный операнд. Максимальное количество элементов во втором измерении. Количество столбцов матрицы. Допустимое значение – целое число.

D - Необязательный операнд. Максимальное количество элементов в третьем измерении. Допустимое значение- целое число.

Е - Необязательный операнд. Максимальное количество элементов в четвертом измерении. Допустимое значение - целое число.

F - Необязательный операнд. Максимальное количество элементов е пятом измерении. Допустимое значение - целое число.

G - Необязательный операнд. Максимальное количество элементов в шестом измерении. Допустимое значение - целое число.

Матрица может иметь до 6 измерений. Однако только первые два из них могут быть доступны в блоке MSAVEVALUE. В этом случае все отсутствующие индексы считаются равными 1.

PLUS-процедуры имеют доступ ко всем элементам матрицы. Если используются более чем двумерные матрицы, необходимо создать одну или более PLUS-процедуру для доступа к ним.

Когда матрица только что создана или выполнена команда CLEAR ON, всем ее элементам присваивается значение 0.

 

Пример использования.

REZULT MATRIX  ,15,3

Оператор определяет матрицу с именем REZULT с 15 строками и 5 столбцами.

 

Оператор FUNCTION

Оператор определяет функцию GPSS, заданную таблично.

Синтаксис. <имя функции> FUNCTION А, В

Имя функции –числовое или символическое имя Обязательный параметр.

А - Аргумент функции. Обязательный операнд. Допустимые значения – имя, число, СЧА.

В - Тип функции (одна буква) и количество пар данных в списке данных функции. Обязательный операнд.

Последующие обращения к СЧА типа FN вычисляют функцию и возвращают результат.

Существует несколько типов функций. Тип определяется операндом В команды FUNCTION.

За каждой командой FUNCTION сразу же должен следовать список пар данных, разделенных символами «/», который определяет функцию. Текстовые строки, которые содержат этот список, называются списком данных функции. Каждая пара данных определяет значение X и значение Y , разделенные запятой. Списки данных используются для вычисления значения функции по заданным значениям аргумента.

 

Существует 5 различных типов функций.

 

1.      Функции типа С – непрерывные числовые функции.

В списке данных функций типа С, значения X и Y должны быть целочисленными(Integer) или вещественными(Real). Значения X и Y хранятся как числа с плавающей точкой двойной точности.

Вычисление функции начинается с вычисления аргумента. Далее определяется интервал (Xi;Xi+1), на котором находится вычисленное значение и на этом интервале выполняется линейная интерполяция двойной точности с использованием соответствующих значений Yi и Yi+1. Результатом является значение функции двойной точности. Если аргумент попадает за предельные значения области определения функции, возвращается значение функции в ближайшей предельной точке.

 

Примеры использования.

Output   FUNCTION     V$Input, C3 1.1,10.1/20.5,98.7/33.3,889.2

Оператор определяет кусочно-линейную функцию с двумя линейными участками. Когда функция вызывается как СЧА FN$Output, сначала вычисляется аргумент V$lnput. Если аргумент попадает за пределы области определения функции (от 1.1 до 33.3), возвращается значение в ближайшей предельной точке. Например, если V$Input равно 1 или меньше, FN$Output возвращает 10.1.

Когда аргумент попадает внутрь линейного сегмента, выполняется линейная интерполяция. Например, если V$Input равно 25, FN$Output возвращает результат следующих вычислений:

98.7 + (889.2 - 98.7) # (25-20.5) / (33.3 - 20.5)=376.6101563.

Пример приближенного представления обратного экспоненциального распределения со средним, равным 1.

Xpdis     FUNCTION       RN1, С24

0,0/.1,.104/.2, .222/.3, .355/.4, .509/.5, .69/.6,.915/.7,1.2/.75,1.38

.8, 1.6/.84, 1.83/.88, 2.12/.9, 2.3/.92, 2.52/.94, 2.81/.95, 2.99/.96,3.2

 .97, 3.5/.98, 3.9/.99, 4.6/.995, 5.3/.998,6.2/.999,7/.9998,8

 

2.      Функции типа D  - дискретные функции.

В списках данных функций типа D значения X должны быть целочисленными или вещественными, а значения Y целочисленными, вещественными или именами.

Функции типа D задают одно и то же значение функции Y[i] для всех значений аргумента X[i-1]< X X[i]. Значения X в списке данных функции должны быть неубывающими. Внутренне они сохраняются как числа двойной точности. Когда вычисляется функция, значения X в списке данных функции просматриваются от наименьшего к наибольшему. Когда найдено значение X, которое больше или равно текущему значению аргумента, возвращается соответствующее ему значение Y. Если такое значение X отсутствует, возвращается значение Y или именованная величина, соответствующая самому большому значению X.

 

Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.

Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
DragMe [Исходник ...
Cooltray
SynEdit
Определние размер...
index.php + мод ...
Proeffectimage
Работа с матрицами
Быстрое создание ...
Анекдоты с ostrie.ru
Динамические за...
Философия C++. Пр...
C# 2005 и платфор...
AdBlaster v2.5 - ...
База данных фильм...
Обучение Borland ...
DirHTMLReportBuil...
Delphi 7: Для про...
RbControls
Создание отчетов ...
Книга по Delphi (...

Топ загрузок
Приложение Клие... 100481
Delphi 7 Enterp... 87904
Converter AMR<-... 20082
GPSS World Stud... 13570
Borland C++Buil... 12072
Borland Delphi ... 8676
Turbo Pascal fo... 7048
Visual Studio 2... 5005
Калькулятор [Ис... 4912
FreeSMS v1.3.1 3545
Случайные статьи
Система после упло...
АНТИПАТТЕРН: ПРЕДИ...
Open-GL Графика в ...
Для получения боле...
РАБОТА С ПРОЦЕДУРН...
Кратные магическом...
ПРИМЕРЫ ЗАПИСИ ПРИ...
Использование класса
Invalid PUBLIC def...
Модификатор запрос...
Клиент для LiveJou...
Задача кажется сло...
Основные препятств...
Другие функции биб...
Кейс-модинг
Использование разд...
Удостоверьтесь, чт...
256 кбит/с, котора...
Продвижение транза...
Метод onServiceCon...
Классическое исклю...
Самая большая дыра...
9.1. Проблема син...
Массивы и классы, ...
Женская консультац...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?