Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КНИЖКА_Моделювання систем у GPSS World.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
7.15 Mб
Скачать
    1. Plus-оператори та їх призначення

Plus-оператори використовуються лише всередині оператора PROCEDURE і можуть записуватись в декілька рядків. Plus-оператори можуть бути простими і складеними. Кожен Plus-оператор повинен закінчуватись розділювачем “;” (крапка з комою).

Розглянемо наступні Plus-оператори:

  • Присвоєння – встановлює значення іменованої величини або елемента матриці. Наприклад:

LValue = Expression

де LValue – іменована величина або елемент матриці, Expression – Plus-вираз;

  • BEGIN / END – складений оператор, використовується для створення процедур:

BEGIN StatementList END;

де StatementList – послідовність Plus-операторів;

  • EXPERIMENT – визначає Plus-експеримент:

EXPERIMENT Name (ArgumentList) Statement

де Name – назва процедури, яке надане користувачем, ArgumentList – список імен (формальних параметрів), які розділені комами, Statement – блок Plus-операторів;

  • GOTO – передає керування всередині процедури:

GOTO Label;

де Label – мітка Plus-оператора;

  • IF / THEN – умовний оператор, що перевіряє вираз. Якщо результат TRUE, виконує блок Plus-операторів:

IF (Expression) THEN Statement

де Expression – Plus-вираз, який перевіряється; Statement – блок Plus-операторів;

  • IF / THEN / ELSE – перевіряє Plus-вираз Expression і залежно від результату виконує один із двох блоків -операторів:

IF (Expression) THEN Statement1 ELSE Statement2

де Statement1 – виконуваний блок Plus-операторів, якщо результат перевірки TRUE; Statement2 – виконуваний блок Plus-операторів, якщо результат перевірки FALSE;

  • З міткою – вказує місце переходу для оператора GOTO:

Label: Statement

де Label – мітка Plus-оператора, яка задається користувачем; Statement – Plus-оператор;

  • PROCEDURE – створює Plus-процедуру визначену користувачем. Після компіляції процедура включається у бібліотеку процедур коритсувача моделі:

PROCEDURE Name (ArgumentList) Statement

де Name – назва процедури, яке задане користувачем; ArgumentList – список імен (формальних параметрів), розділених комами; Statement – блок Plus-операторів;

  • Виклику процедури – викликає бібліотечну процедуру:

ProcedureName (ExpressionList)

де ProcedureName – назва процедури; ExpressionList – список аргументів процедури, розділених комами (Plus-вирази);

  • RETURN – зупиняє виконання процедури і повертає результат її виконання:

RETURN Expression;

де Expression – Plus-вираз (необов’язковий операнд);

  • TEMPORARY – визначає і обмежує область дії локальних змін­них і локальних матриць, які використовуються під час виконання процедур:

TEMPORARY NameList;

де NameList – список імен, визначених користувачем і розділених комами;

TEMPORARY MATRIX Name[IntegerList];

де Name – назва локальної матриці, визначеної користувачем; IntegerList – послідовність додатніх чисел, розділених комами, що вказують на кількість елементів в кожному вимірі матриці;

  • WHILE / DO – оператор циклу, що виконує дію декілька разів:

WHILE (Expression) DO Statement

де Expression – Plus-вираз, який перевіряється; Statement – блок Plus-операторів.