В GPSS World використовуються наступні арифметичні і логічні оператори, які виконуються над елементами виразів (табл. 4.2).
Таблиця 4.2
Оператор | Приклад використання | Опис |
^ | A ^ B | Піднесення до степеня |
# | A # B | Множення |
/ | A / B | Ділення |
\ | A \ B | Цілочисельне ділення. Повертає результат цілочисельного ділення А на В |
@ | A @ B | Цілочисельний залишок. Повертає цілочисельний залишок від ділення А на В |
- | A - B | Віднімання |
+ | A + B | Додавання |
>= або ‘GE’ | A >= B | Присвоюється 1, якщо А в цифровій формі більше або рівне В, в протилежному випадку присвоюється 0 |
<= або ‘@’ | A <= B | Присвоюється 1, якщо в цифровій формі А менше або рівне В, в протилежному випадку присвоюється 0 |
> або ‘G’ | A > B | Присвоюється 1, якщо в цифровій формі А більше В, в протилежному випадку присвоюється 0 |
< або ‘L’ | A < B | Присвоюється 1, якщо в цифровій формі А менше В, в протилежному випадку присвоюється 0 |
= або ‘E’ | A = B | Присвоюється 1, якщо в цифровій формі А рівне В, в протилежному випадку присвоюється 0 |
! = або ‘NE’ | A!= B | Присвоюється 1, якщо в цифровій формі А не дорівнює В, в протилежному випадку присвоюється 0 |
& або ‘AND’ | A & B | Присвоюється 1, якщо А і В не дорівнюють 0, в протилежному випадку присвоюється 0 |
| або ‘OR’ | A | B | Присвоюється 1, якщо А, або В, або обидва не дорівнюють 0, в протилежному випадку присвоюється 0 |
У GPSSW оператор “#” використовується для операції множення, оскільки традиційний для інших мов програмування оператор множення “*” вказує на непряму адресацію. Однак користувач може змінювати значення операторів “#” і “*” у журналі налаштування за допомогою прапорця Simulation (Моделювання).
|
|
Бібліотечні математичні функції
Бібліотека GPSS World має наступні математичні функції (процедури)
Оператор Функції
ABS(A) – Абсолютне значення
ATN(A) – Арктангенс
COS(A) – Косинус
EXP(A) – Експонента
INT(A) – Виділення цілої частини
LOG(A) – Натуральний алгоритм
SIN(A) – Синус
SQR(A) – Квадратний корінь
TAN(A) – Тангенс
Аргументи бібліотечних функцій автоматично перетворюються у числові значення. Обчислювані числові значення функцій є дійсного типу.
Змінні користувача
Для зберігання числових і рядкових даних у процесі моделювання використовуються змінні користувача, які створюються за допомогою команди EQU або PLUS-процедур. Наприклад:
Kan1 EQU 8.55
Rjad EQU 5
Name EQU ”Vova”
У наведених перших двох прикладах змінним користувача Kan1 і Rjad присвоюються числові значення, а змінній Name – значення рядкового типу.
Змінні користувача можуть використовуватися у виразах, написаних на мові PLUS з використанням змінюватися операторів присвоєння.