Особенностью работы подпрограммы FUNCTION является то, что результатом вычисления является одно число и этот результат должен быть присвоен имени функции.
Оператор RETURN служит для выхода из подпрограммы FUNCTION и передачи результата вычисления в головную программу на то место, откуда шло обращение к подпрограмме-функции.
Подпрограмма-функция может быть включена в один файл с головной подпрограммой и размещаться до начала головной подпрограммы или после оператора END головной программы.
Подпрограмма-функция транслируется отдельно от головной программы. Но в файл *.lst, который создаётся на этапе трансляции, текст и ошибки головной программы записываются отдельно от текста и ошибок подпрограммы.
Чтобы обратиться к подпрограмме-функции необходимо (как и в случае с оператор-функцией) указать имя подпрограммы-функции и список фактических параметров. Результатом работы подпрограммы-функции является одно число и это число возвращается в программу на то место, откуда осуществляется вызов.
Правило:
Список фактических параметров должен соответствовать списку формальных параметров по:
– количеству
– очерёдности следования
– типу данных
– по размерности массивов.
Размерность одного и того же массива в подпрограмме-функции не должна превышать размерности соответствующего массива головной программы.
Пример:
Вычислить: , используя для вычисления суммы и максимального значения массива подпрограммы-функции.
Решение:
Прежде, чем написать подпрограмму-функцию, необходимо определить список формальных параметров, то есть перечень всех значений параметров, от которых зависит вычисление этой функции.
В данном примере функцию вычисления суммы нужно будет использовать 3 раза для трёх разных массивов; функцию нахождения максимального элемента массива необходимо использовать также 3 раза для трёх разных массивов.
Чтобы вычислить сумму элементов массива нам нужно знать количество элементов массива и иметь численные значения этих элементов массива. При нахождении максимального элемента массива нам необходимо иметь те же данные.
Для нахождения суммы всех элементов массива Х создадим подпрограмму-функцию SUMF(X,N), где Х – имя обрабатываемого массива, а N – размерность массива. Для нахождения максимального элемента массива Х создадим подпрограмму-функцию FMAX(X,N), где Х – обрабатываемый массив, а N – количество элементов этого массива.
В головной программе мы будем вводить исходные данные для решения задачи, засылать массивы А, В, С с количеством элементов этих массивов, в подпрограммы (SUMF или FMAX), там будут производиться необходимые вычисления, а назад будут возвращаться результаты этих вычислений.
Дата добавления: 2015-06-10; просмотров: 892;