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

4.4.6. Вирази в операторах gpss

Вирази в системі GPSS World можна використовувати в операндах операторів GPSS і в PLUS-процедурах. Зокрема, вирази записані в круглих дужках обробляються PLUS-процедурами.

За допомогою виразів, що містять СЧА, можна одержати доступ до змінних стану об'єктів GPSS, таких, як глобальні змінні користувача з PLUS-процедур.

4.4.7. Зберігаючі комірки

Для зберігання у процесі моделювання у GPSSW числових значень використовуються комірки пам'яті. Ці комірки називають зберігаючими і вони є доступними протягом усього процесу моделювання. Початкові значення можуть бути задані перед моделюванням і до них можна звернутися з будь-якого місця моделі під час моделювання. Значення комірок, що зберігаються, змінюються тільки користувачем. Початкові значення комірок нулеві. Зберігаючим коміркам можуть бути привласнені ненульові початкові значення за допомогою команди INITIAL (ініціалізувати). Вона має наступний формат

INITIAL А,[В]

Операнд А може бути Х цілим додатнім числом або Х$назва. Операнд В задає початкове значення, що присвоюється, або UNSPECIFIED (не визначено). Він може бути назвою, числом, рядком або UNSPECIFIED. Якщо операнд В не використовується, то значення комірки стає рівним 1. Наприклад:

INITIAL X5,55.13

INITIAL X$Vah,Q$Deb

INITIAL X$Sos,Olja

INITIAL X$Vaha,"Suma operacij"

INITIAL X2

У першому прикладі в комірку номер 5 заноситься число 55.13, у друго­му – в комірку з назвою Vah – поточна довжина черги з назвою Deb, у третьому – в комірку з назвою Sos – значення змінної користувача Olja, у четвертому – в ко­мір­ку з назвою Vaha заноситься рядкова константа, а в п'ятому – операнд В не використовується, тому комірці номер 2, що зберігається, присвоюється значення 1.

У процесі моделювання значення зберігаючої комірки змінюється при вході транзакта у блок SAVEVALUE (зберегти величину). Формат запису блоку SAVEVALUE:

SAVEVALUE А,В

Операнд А інтерпретується як номер або символьна назва зберігаючої величини і може бути додатнім цілим числом, іменем, виразом у дужках, СЧА* параметром або СЧА. В операнді В задається значення, яке необхідно записати у дану комірку. Тому операнду В властиві окрім вище наведених значень ще й числа та рядки.

Коли транзакт входить у блок SAVEVALUE, величина, що перебуває в операнді В, стає значенням комірки, що зберігається. Її номер або символічна назва записується в операнді А.

Блок SAVEVALUE може бути використаний як у режимі заміщення, так і в режимі накопичення або зменшення. У режимі накопичення попереднє значення комірки, що зберігається, збільшується на значення, яке записане в операнді В. У режимі зменшення воно зменшується на величину, що записана в операнді В. Тобто вміст комірок SAVEVALUE можна змінювати шляхом додавання або віднімання значень. У режимі накопичення між операндами А і В ставиться знак “+”. Це означає що значення, яке записане у полі В добавляється до вмісту комірки. Знак “–” між операндами А і В (режим зменшення) визначає зменшення значення, записаного у полі В з вмісту даної комірки. Відсутність символу означає заміну вмісту комірок. Наприклад:

SAVEVALUE 3-,X5

SAVEVALUE Vsd+,V$Sos

SAVEVALUE Hdd,-300

SAVEVALUE 8,(5.8#X$Kan1+Q5)

SAVEVALUE 2,"Suma operacij"

У першому прикладі значення зберігаючої комірки, з номером 3 при вході транзакта в блок SAVEVALUE зменшується на значення зберігаючої комірки з номером 5. У другому прикладі значення зберігаючої комірки з назвою Vsd збільшується на обчислене значення арифметичної змінної Sos. У третьому прикладі значення комірки з назвою Hdd заміщається числом -300. У четвертому прикладі обчислюється вираз в дужках і присвоюється комірці з номером 8. У п'ятому прикладі вміст комірки номер 2 заміщається рядком. Якщо комірки з таким іменем не існує, вона створюється.