Оператор-функция
Оператор-функция используется в тех случаях, когда по одной и той же формуле необходимо производить большое количество вычислений с различными данными.
В общем виде оператор-функция записывается:
f(список формальных параметров) = выражение
Пример:
SFUN(X,Y)=EXP(X)+SQRT(X+Y)+ALOG(Y)*2.*D
имя формальные выражение
функции параметры
Задавая различные значения X и Y, эта оператор-функция всегда будет вычислять арифметическое выражение по заданной формуле.
Примечание:
В арифметических выражениях кроме переменных, указанных в списке формальных параметров, могут присутствовать и другие переменные (например, переменная D, используемая в предыдущем примере). Значение этой переменной D будет извлекаться из памяти ЭВМ.
Обращение к оператор-функции осуществляется путём указания имени функции и записи в скобках фактических параметров.
Например, вычислим арифметическое выражение с использованием оператор-функции:
=2.*SIN(X)+SFUN(A,B)+SFUN(4.5,SIN(C))**2
фактические
параметры фактические выражение
параметры
константа
При обращении к оператор-функции SFUN фактические параметры А и В будут подставляться вместо формальных параметров X и Y, затем будет осуществляться вычисление арифметического выражения оператор-функции. Результатом вычисления будет являться одно число, и это одно число возвращается на то место в программе, откуда осуществляется обращение к оператор-функции.
Затем идёт повторное обращение к оператор-функции SFUN. Во втором случае фактическими параметрами являются константа(4.5) и выражение (SIN(C)). Константа подставится вместо X, а вычисленное значение выражения будет подставляться вместо Y. Производится новое вычисление арифметического выражения оператор-функции. В результате мы получим новое число, которое возвращается в программу на то место, откуда оператор-функция вызывалась второй раз.
Переменная Z вычислится как 2.*SIN(X) + результат SFUN1+ результат SFUN2
Правило:
Оператор-функция записывается в самом начале программы до первого выполняемого оператора. Желательно после оператора DIMENSION. Оператор-функция действует только в данной программной единице, в которой он описан. Тип функции (целый, вещественный …) определяется по правилам определения имен переменных или в операторах описания.
В одной программной единице может быть большое количество оператор-функций. Формальными параметрами могут быть только переменные. Фактическими параметрами могут быть:
1) переменные
2) константы
3) выражения
4) элементы массивов
Правило:
Список формальных параметров оператор-функции должен соответствовать списку фактических параметров при обращении к оператор-функции по:
– очерёдности следования
– по типу данных
Имя оператор-функции должно соответствовать правилам формирования имён языка ФОРТРАН, то есть все оператор-функции считаются вещественного типа, за исключением тех, имя которых начинается на буквы I, J, K, L, M, N.
Задача:
Вычислить следующие выражения, используя оператор-функцию:
Как можно заметить, во всех выражения можно выделить общую часть, которую можно записать в виде . Эту общую часть можно записать в виде оператор-функции, к которой мы будем часто обращаться при вычислениях. Это избавит нас от необходимости громоздкой записи для вычисления каждой формулы.
Дата добавления: 2015-06-10; просмотров: 1281;