К встроенным функциям относятся элементные процедуры и функции, параметрами таких подпрограмм могут быть как скаляры, так и согласованные массивы. Когда параметрами являются массивы, каждый элемент результирующего массива равен результату применения подпрограммы к соответствующим элементам массивов параметров. Результирующий массив должен быть согласован с массивами параметрами. Справочные функции выдают информацию о свойствах параметров функций. Результат справочной функции не зависит от значения параметра. Числовые функции позволяют вычислять абсолютное значение, остаток от деления и др.
Следующая программа демонстрирует использование некоторых встроенных числовых функций.
ПРИМЕР:
PROGRAM VSTR_FUNC
REAL :: A=-23.8, A1=-1.234, A2=1.234, A3=-1.789
REAL :: A4=1.789, B=-13.78, ARRAY(1:3)=(/-2.0,4.0,-6.5/)
REAL(8) :: AA=-164.5D-12, X=12.00007856D12,Y=-1.0000023D-7
INTEGER :: NA=-77777, NB=886432, N=478956, M=17
OPEN(35,FILE='CHISLOV_FUNC.TXT')
WRITE (35,*) 'ABS(X)'
WRITE (35,*) ABS(A),ABS(AA), ABS(NA)
WRITE (35,*) 'ABS(ARRAY)'
WRITE (35,*) ABS(ARRAY)
WRITE (35,*) 'AINT(X)'
WRITE (35,*) AINT(A1),AINT(A2),AINT(A3),AINT(A4)
WRITE (35,*) 'ANINT(X)'
WRITE (35,*) ANINT(A1),ANINT(A2),ANINT(A3),ANINT(A4)
WRITE (35,*) 'NINT(X)'
WRITE (35,*) NINT(A1),NINT(A2),NINT(A3),NINT(A4)
WRITE (35,*) 'DIM(X,Y)'
WRITE (35,*) DIM(X,Y),DIM(NA,NB)
WRITE (35,*) 'MOD(N,M)'
WRITE (35,*) MOD(N,M)
WRITE (35,*) 'MODULO(N,M)'
WRITE (35,*) MODULO(N,M)
WRITE (35,*) 'SIGN(A,B)'
WRITE (35,*) SIGN(A,B), SIGN(A,AA), SIGN(NA,NB)
END
Результат выполнения показан на рисунке 1.13.
Встроенные функции вычисления максимума и минимума являются элементными и применимы к числовым данным целого и вещественного типа. Имена MAX и MIN являются родовыми. При обращении ко всем встроенным функциям вычисления максимума и минимума требуется более одного фактического параметра.
В Фортране имеются встроенные математические функции вычисления корня, экспоненты, логарифмов, тригонометрические
и обратные тригонометрические функции. Тип и параметр разновидности типа
результата такие же как у первого аргумента. Когда параметрами функций являются
комплексные числа, то функция возвращает комплексное число, аргумент которого
равен главному значению аргумента комплексного числа в радианах().
![]() |
||||||||||||||||||||||||||||||||||||||||||
Таблица. Встроенные функции вычисления максимума и минимума
|
![]() |
Имя функции называется родовым, если результат выполнения этой функции зависит от типа параметров. Так функция может принимать в качестве параметра массив любого целого или вещественного типа. Родовые имена нельзя использовать в качестве фактических параметров процедур. Например, имя функции ABS является родовым. |
![]() |
ПРИМЕР: PROGRAM MAX_MIN REAL :: A=-23.8, A1=-1.234, A2=1.234, A3=-1.789 REAL :: A4=1.789, B=-13.78, ARRAY(1:3)=(/-2.0,4.0,-6.5/) REAL(8) :: AA=-164.5D-12, X=12.00007856D12,Y=-1.0000023D-7 INTEGER :: NA=-7777701, NB=88643772, N=478956133, M=17 INTEGER :: NARRAY(1:4)=(/-2,177777,45,-8/) OPEN(35,FILE='MAX_MIN.TXT') PRINT *, 'AMAX0(N, M, NA,NB)' PRINT *, AMAX0(N, M, NA,NB) PRINT *,'AMAX0(NARRAY)' PRINT *,AMAX0(NARRAY,N) PRINT *,'AMAX0(NARRAY)' PRINT *,AMAX0(NARRAY,N) PRINT *, 'MAX(N, M, NA,NB)' PRINT *, MAX(N, M, NA,NB) PRINT *, 'MAX(A, B, ARRAY,A1)' PRINT *, MAX(A, B, ARRAY,A1) PRINT *, 'MAX1(A, B, ARRAY,A1)' PRINT *, MAX1(A, B, ARRAY,A1,A4) END Результат работы этой программы показан на рисунке 1.14 |
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Таблица. Встроенные математические функции Фортрана
|