ВУЗ:
Составители:
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. Способы передачи аргументов
Используются два способа передачи аргументов в подпрограммы-
функции и процедуры: передача значением и передача ссылкой.
Передача значением означает, что подпрограмма-функция или проце-
дура не получает доступа к самой переменной и не может изменить ее значе-
ния. Для процедур-функций и процедур это соответствует объявлению аргу-
мента входным, т.е. не изменяющим свое значение в ходе выполнения про-
цедуры.
Передача ссылкой
означает, что процедура-функция или процедура по-
лучают доступ непосредственно к переменной и могут изменить ее значение.
Это позволяет объявить аргумент выходным или транзитным. Выходному
аргументу присваивается значение только при выходе из процедуры, а тран-
зитный аргумент – это аргумент, который одновременно выполняет функцию
входного и выходного.
Страницы
- « первая
- ‹ предыдущая
- …
- 22
- 23
- 24
- 25
- 26
- …
- следующая ›
- последняя »