В некоторых языках имеется возможность указать, как переда-
ется тот или иной параметр. К примеру, в Visual Basic параметры
передаются по ссылке, а для передачи по значению используется
ключевое слово byVal.
Назначение параметров – входные, выходные
и переопределяемые (входные/выходные)
Параметры, передаваемые по ссылке, можно использовать как
дополнительные возвращаемые значения. Соответственно можно
говорить о входных и выходных параметрах.
Fortran позволяет явно указать назначение параметров. Для это-
го используется атрибут INTENT:
• INTENT(IN) – входные, получают значения от соответствую-
щих фактических параметров и не могут изменяться при вы-
полнении подпрограммы;
• INTENT(OUT) – выходные, получают значения в подпрограм-
ме и передают их соответствующим фактическим параметрам в
вызывающей программе;
• INTENT(INOUT) – переопределяемые (входные / выходные),
осуществляют связь в обоих направлениях.
В таком случае компилятор будет контролировать использова-
ние параметров «по назначению», например, не допустит присваи-
вания значения входному параметру.
В языке QBasic подобной возможности нет.
Пример
Процедура MinMax, определяющая наибольшее и наименьшее
значение в массиве.
• Входные параметры – массив A( ) и его размерность N
• Выходные – наибольшее и наименьшее значение AMAX, AMIN
Программа, Fortran Пояснения
REAL :: A(5) = (/2,3,1,4,2/)
CALL MINMAX(A,5,AMIN,AMAX)
Данные
Вызов п/п
*
*
Подпрограммы
14