CALL имя (список фактических параметров)
Отличия подпрограммы SUBROUTINE от подпрограммы-функции:
– имя подпрограммы SUBROUTINE не имеет значения типа;
– результатом работы подпрограммы SUBROUTINE могут быть одно или несколько чисел, массив, несколько массивов. Эти результаты могут передаваться в головную программу, а могут и не передаваться.
– список формальных параметров может отсутствовать вообще.
Подпрограмма типа SUBROUTINE – основной объект программирования на языке ФОРТРАН. Любая большая задача разбивается на подпрограммы, эти программы отлаживаются и тестируются по отдельности. Головная программа служит лишь для ввода исходных данных, поочерёдного обращения к различным подпрограммам, записи и обработки полученных результатов. В программировании признан рациональным модульный принцип построения программ (разбиением на подпрограммы).
Правила соответствия формальных и фактических параметров:
Так же, как и в подпрограмме-функции, эти параметры должны соответствовать:
– по количеству;
– очереди следования;
– по типу данных;
– массивы должны соответствовать по размерности.
Формальными параметрами подпрограммы могут быть:
– переменные
– имена массивов
– имена функций
– символ ‘ * ’, обозначающий метку.
При обращении к подпрограмме с помощью оператора CALL необходимо указать имя подпрограммы и список фактических параметров.
Фактическими параметрами могут быть:
– константы;
– арифметические выражения;
– переменные;
– массивы;
– имена функций;
– номера меток.
В списке фактических (формальных) параметров должны быть величины, которые служат как исходными данными для работы подпрограммы, так и величины, которые являются результатами работы подпрограммы.
Результатом работы подпрограммы могут быть:
– одно число;
– несколько чисел;
– массивы данных.
При выполнении оператора CALL головной программы управление передаётся в подпрограмму, где происходят все вычислительные действия. При достижении оператора RETURN, осуществляется выход из подпрограммы и управление передаётся в головную программу к оператору, следующему после оператора CALL.
Примечания:
Списки имён переменных и имена меток каждой подпрограммы независимы друг от друга и могут повторяться.
Дата добавления: 2015-06-10; просмотров: 1621;