Основы автоматизированного проектирования химических производств. Миронов В.М - 24 стр.

UptoLike

Составители: 

24
имя [(список аргументов)].
Во втором случае процедура должна обязательно описываться операто-
ром DECLARE. Переменные в теле процедуры могут быть локальными, если
она определена оператором STATIC. DECLARE. Процедура допускает ре-
курсивный вызов.
DECLARE SUB имя
SUB имя ([список аргументов]) [STATIC]
[операторы]
END SUB
-
имяимя, присвоенное процедуре;
-
список аргументовформальные параметры, передаваемые процедуре
из модуля или возвращаемые модулю.
ПРИМЕР 3.5.
DECLARE FUNCTION F
FUNCTION F(X)
F=X^2-4
END FUNCTION
CALL DIF(12)
. . . . . . .
DECLARE SUB DIF
SUB DIF(X) STATIC Y
E=X*1E-6
Y=(F(X+E)-F(X-E))/E/2
END SUB
3.6.5. Способы передачи аргументов
Используются два способа передачи аргументов в подпрограммы-
функции и процедуры: передача значением и передача ссылкой.
Передача значением означает, что подпрограмма-функция или проце-
дура не получает доступа к самой переменной и не может изменить ее значе-
ния. Для процедур-функций и процедур это соответствует объявлению аргу-
мента входным, т.е. не изменяющим свое значение в ходе выполнения про-
цедуры.
Передача ссылкой
означает, что процедура-функция или процедура по-
лучают доступ непосредственно к переменной и могут изменить ее значение.
Это позволяет объявить аргумент выходным или транзитным. Выходному
аргументу присваивается значение только при выходе из процедуры, а тран-
зитный аргументэто аргумент, который одновременно выполняет функцию
входного и выходного.