Cтраница 1
Подпрограммы-функции FTABL1 и FTABL2 используются для определения значений функций одного и двух аргументов, заданных таблично. [1]
Подпрограммы-функции С1 - С8 вычисляют емкости ячеек ( см. рис. 3.26); С1С и СС1 - отношения полных эллиптических интегралов К / К и К / К соответственно. [2]
Подпрограммы-функции вызываются аналогично подпрограммам, но в отличие от подпрограмм их имени присваивается результат вычислений. [3]
Часто подпрограммы-функции включаются в библиотеку стандартных программ компилятора. В частности, библиотека содержит стандартные программы ранних вариантов Фортрана. Для библиотечных подпрограмм-функций тип результата устанавливается первой буквой наименования. [4]
Внутри подпрограммы-функции не могут находиться операторы, определяющие другие подпрограммы-функции или подпрограммы, а также операторы BLOCK DATA ( § 18) и останова. Операторы определения оператор-функций, если они имеются, должны располагаться до первого исполняемого оператора. Ни один из элементов списка формальных параметров не должен входить в операторы COMMON, DATA, EQUIVALENCE или EXTERNAL внутри данной подпрограммы-функции. [5]
У подпрограммы-функции, в отличие от SUBROUTINE, обязательно должен быть хотя бы один формальный параметр. Другое, более важное отличие FUNCTION от SUBROUTINE состоит в том, что эти подпрограммы по-разному вызываются из основной программы. [6]
Часто подпрограммы-функции включаются в библиотеку стандартных программ компилятора. В частности, библиотека содержит стандартные программы ранних вариантов Фортрана. Для библиотечных подпрограмм-функций тип результата устанавливается первой буквой наименования. [7]
Внутри подпрограммы-функции не могут находиться операторы, определяющие другие подпрограммы-функции или подпрограммы, а также операторы BLOCK DATA ( § 18) и останова. Операторы определения оператор-функций, если они имеются, должны располагаться до первого исполняемого оператора. [8]
Наименование подпрограммы-функции вместе со списком ее аргументов может использоваться в программе при записи выражений наравне с идентификаторами переменных. Для этого конечный результат присваивается наименованию одним из операторов внутри подпрограммы. В обращении необходимо соблюдать соответствие расположения и типа фактических аргументов формальным. При этом наименования формальных и фактических параметров могут и совпадать. Если формальным аргументом является массив, то наименование последнего должно быть описано оператором DIMENSION в подпрограмме-функции. Аналогично соответствующий фактический аргумент не должен быть описанным. [9]
Тип подпрограммы-функции должен совпадать с типом функции, объявленным в вызывающей программе. [10]
Активизация подпрограммы-функции происходит путем указания в арифметическом или логическом выражении ее имени со списком фактических параметров. Фактические параметры являются объектами, с которыми выполняется функция. [11]
Имя подпрограммы-функции определяет тип выдаваемого ею результата. [12]
Выполнение подпрограммы-функции начинается с первого выполняемого оператора и должно завершаться оператором возврата RETURN. Одна подпрограмма-функция может содержать несколько операторов возврата. Подпрограмма-функция не должна содержать прямых или косвенных ( через другие подпрограммы) обращений к самой себе. [13]
Наименование подпрограммы-функции вместе со списком ее аргументов может использоваться в программе при записи выражений наравне с идентификаторами переменных. Для этого конечный результат присваивается наименованию одним из операторов внутри подпрограммы. В обращении необходимо соблюдать соответствие расположения и типа фактических аргументов формальным. При этом наименования формальных и фактических параметров могут и совпадать. Если формальным аргументом является массив, то наименование последнего должно быть описано оператором DIMENSION в подпрограмме-функции. Аналогично соответствующий фактический аргумент не должен быть описанным. [14]
Вызов подпрограммы-функции основной программой производится следующим образом. [15]