Учебники

Фортран — внутренние функции

Внутренние функции — это некоторые общие и важные функции, которые предоставляются как часть языка Фортран. Мы уже обсуждали некоторые из этих функций в главах «Массивы», «Символы» и «Строки».

Внутренние функции могут быть классифицированы как —

  • Числовые функции
  • Математические функции
  • Числовые функции запроса
  • Функции с плавающей запятой
  • Функции управления битами
  • Функции персонажа
  • Добрые функции
  • Логические функции
  • Функции массива.

Мы обсудили функции массива в главе «Массивы». В следующем разделе мы даем краткое описание всех этих функций из других категорий.

В столбце имени функции

  • A представляет любой тип числовой переменной
  • R представляет собой вещественную или целочисленную переменную
  • X и Y представляют собой реальные переменные
  • Z представляет комплексную переменную
  • W представляет действительную или комплексную переменную

Числовые функции

Sr.No Описание функции
1

ABS (A)

Возвращает абсолютное значение A

2

AIMAG (Z)

Возвращает мнимую часть комплексного числа Z

3

AINT (A [, KIND])

Он усекает дробную часть A до нуля, возвращая действительное целое число.

4

ANINT (A [, KIND])

Возвращает реальное значение, ближайшее целое или целое число.

5

ПОТОЛОК (A [, KIND])

Возвращает наименьшее целое число, большее или равное числу А.

6

CMPLX (X [, Y, KIND])

Он преобразует действительные переменные X и Y в комплексное число X + iY; если Y отсутствует, используется 0.

7

CONJG (Z)

Возвращает комплексное сопряжение любого комплексного числа Z.

8

DBLE (A)

Он преобразует A в вещественное число двойной точности.

9

DIM (X, Y)

Возвращает положительную разницу X и Y.

10

DPROD (X, Y)

Возвращает реальное произведение двойной точности X и Y.

11

ЭТАЖ (A [, KIND])

Это обеспечивает наибольшее целое число, меньшее или равное числу А.

12

INT (A [, KIND])

Он преобразует число (действительное или целое) в целое число, обрезая действительную часть до нуля.

13

MAX (A1, A2 [, A3, …])

Возвращает максимальное значение из аргументов, все они одного типа.

14

MIN (A1, A2 [, A3, …])

Возвращает минимальное значение из аргументов, все они одного типа.

15

MOD (A, P)

Возвращает остаток от A при делении на P, причем оба аргумента имеют одинаковый тип (A-INT (A / P) * P)

16

МОДУЛЬ (A, P)

Возвращает по модулю P: (A-FLOOR (A / P) * P)

17

NINT (A [, KIND])

Возвращает ближайшее целое число числа A

18

НАСТОЯЩИЙ (A [, KIND])

Преобразует в реальный тип

19

ЗНАК (A, B)

Возвращает абсолютное значение A, умноженное на знак P. В основном, оно передает знак B на A.

ABS (A)

Возвращает абсолютное значение A

AIMAG (Z)

Возвращает мнимую часть комплексного числа Z

AINT (A [, KIND])

Он усекает дробную часть A до нуля, возвращая действительное целое число.

ANINT (A [, KIND])

Возвращает реальное значение, ближайшее целое или целое число.

ПОТОЛОК (A [, KIND])

Возвращает наименьшее целое число, большее или равное числу А.

CMPLX (X [, Y, KIND])

Он преобразует действительные переменные X и Y в комплексное число X + iY; если Y отсутствует, используется 0.

CONJG (Z)

Возвращает комплексное сопряжение любого комплексного числа Z.

DBLE (A)

Он преобразует A в вещественное число двойной точности.

DIM (X, Y)

Возвращает положительную разницу X и Y.

DPROD (X, Y)

Возвращает реальное произведение двойной точности X и Y.

ЭТАЖ (A [, KIND])

Это обеспечивает наибольшее целое число, меньшее или равное числу А.

INT (A [, KIND])

Он преобразует число (действительное или целое) в целое число, обрезая действительную часть до нуля.

MAX (A1, A2 [, A3, …])

Возвращает максимальное значение из аргументов, все они одного типа.

MIN (A1, A2 [, A3, …])

Возвращает минимальное значение из аргументов, все они одного типа.

MOD (A, P)

Возвращает остаток от A при делении на P, причем оба аргумента имеют одинаковый тип (A-INT (A / P) * P)

МОДУЛЬ (A, P)

Возвращает по модулю P: (A-FLOOR (A / P) * P)

NINT (A [, KIND])

Возвращает ближайшее целое число числа A

НАСТОЯЩИЙ (A [, KIND])

Преобразует в реальный тип

ЗНАК (A, B)

Возвращает абсолютное значение A, умноженное на знак P. В основном, оно передает знак B на A.

пример

Live Demo

program numericFunctions
implicit none  

   ! define constants  
   ! define variables
   real :: a, b 
   complex :: z
   
   ! values for a, b 
   a = 15.2345
   b = -20.7689
    
   write(*,*) 'abs(a): ',abs(a),' abs(b): ',abs(b)   
   write(*,*) 'aint(a): ',aint(a),' aint(b): ',aint(b) 
   write(*,*) 'ceiling(a): ',ceiling(a),' ceiling(b): ',ceiling(b)   
   write(*,*) 'floor(a): ',floor(a),' floor(b): ',floor(b)  
    
   z = cmplx(a, b)
   write(*,*) 'z: ',z   
   
end program numericFunctions

Когда вы компилируете и запускаете вышеуказанную программу, она дает следующий результат —

abs(a): 15.2344999   abs(b): 20.7688999    
aint(a): 15.0000000  aint(b): -20.0000000    
ceiling(a): 16  ceiling(b): -20
floor(a): 15  floor(b): -21
z: (15.2344999, -20.7688999)

Математические функции

Sr.No Описание функции
1

ACOS (X)

Возвращает обратный косинус в диапазоне (0, π) в радианах.

2

ASIN (X)

Возвращает обратный синус в диапазоне (-π / 2, π / 2) в радианах.

3

ATAN (X)

Возвращает тангенс в диапазоне (-π / 2, π / 2) в радианах.

4

ATAN2 (Y, X)

Возвращает обратную касательную в диапазоне (-π, π) в радианах.

5

COS (X)

Возвращает косинус аргумента в радианах.

6

КОШ (X)

Возвращает гиперболический косинус аргумента в радианах.

7

EXP (X)

Возвращает экспоненциальное значение X.

8

LOG (X)

Возвращает натуральное логарифмическое значение X.

9

LOG10 (X)

Возвращает общее логарифмическое (базовое 10) значение X.

10

ГРЕХ (X)

Он возвращает синус аргумента в радианах.

11

Синь (X)

Возвращает гиперболический синус аргумента в радианах.

12

SQRT (X)

Возвращает квадратный корень из X.

13

Тан (X)

Возвращает тангенс аргумента в радианах.

14

Тан (X)

Возвращает гиперболический тангенс аргумента в радианах.

ACOS (X)

Возвращает обратный косинус в диапазоне (0, π) в радианах.

ASIN (X)

Возвращает обратный синус в диапазоне (-π / 2, π / 2) в радианах.

ATAN (X)

Возвращает тангенс в диапазоне (-π / 2, π / 2) в радианах.

ATAN2 (Y, X)

Возвращает обратную касательную в диапазоне (-π, π) в радианах.

COS (X)

Возвращает косинус аргумента в радианах.

КОШ (X)

Возвращает гиперболический косинус аргумента в радианах.

EXP (X)

Возвращает экспоненциальное значение X.

LOG (X)

Возвращает натуральное логарифмическое значение X.

LOG10 (X)

Возвращает общее логарифмическое (базовое 10) значение X.

ГРЕХ (X)

Он возвращает синус аргумента в радианах.

Синь (X)

Возвращает гиперболический синус аргумента в радианах.

SQRT (X)

Возвращает квадратный корень из X.

Тан (X)

Возвращает тангенс аргумента в радианах.

Тан (X)

Возвращает гиперболический тангенс аргумента в радианах.

пример

Следующая программа вычисляет горизонтальное и вертикальное положение x и y снаряда через некоторое время, t —

Где x = ut cos a и y = ut sin a — g t2 / 2

Live Demo

program projectileMotion  
implicit none  

   ! define constants  
   real, parameter :: g = 9.8  
   real, parameter :: pi = 3.1415927  
   
   !define variables
   real :: a, t, u, x, y   
   
   !values for a, t, and u 
   a = 45.0
   t = 20.0
   u = 10.0
   
   ! convert angle to radians  
   a = a * pi / 180.0  
   x = u * cos(a) * t   
   y = u * sin(a) * t - 0.5 * g * t * t  
   
   write(*,*) 'x: ',x,'  y: ',y   
   
end program projectileMotion

Когда вы компилируете и запускаете вышеуказанную программу, она дает следующий результат —

x: 141.421356  y: -1818.57861  

Числовые функции запроса

Эти функции работают с определенной моделью целочисленной и арифметики с плавающей точкой. Функции возвращают свойства чисел того же вида, что и переменная X, которые могут быть действительными и в некоторых случаях целыми.

ЦИФРЫ (X)

Возвращает количество значащих цифр модели.

ЭПСИЛОН (X)

Возвращает число, которое практически ничтожно по сравнению с одним. Другими словами, он возвращает наименьшее значение, так что REAL (1.0, KIND (X)) + EPSILON (X) не равен REAL (1.0, KIND (X)).

ОГРОМНЫЙ (X)

Возвращает наибольшее количество модели

МАКСЭКСПОНЕНТ (X)

Возвращает максимальный показатель модели

MINEXPONENT (X)

Возвращает минимальный показатель модели

ТОЧНОСТЬ (X)

Возвращает десятичную точность

RADIX (X)

Возвращает базу модели

ДИАПАЗОН (X)

Возвращает десятичный диапазон экспонент

Крошечный (X)

Возвращает наименьшее положительное число модели

Экспонент (X)

Возвращает экспонентную часть номера модели

ФРАКЦИЯ (X)

Возвращает дробную часть числа

БЛИЖАЙШИЙ (X, S)

Возвращает ближайший другой номер процессора в заданном направлении

RRSPACING (X)

Возвращает обратную величину относительного расстояния между номерами моделей вблизи заданного числа.

МАСШТАБ (X, I)

Он умножает действительное на его основание до целочисленной степени

SET_EXPONENT (X, I)

возвращает экспонентную часть числа

ПРОСТРАНСТВО (X)

Возвращает абсолютный интервал номеров моделей рядом с данным номером.

BIT_SIZE (I)

Возвращает количество бит модели

BTEST (I, POS)

Битовое тестирование

IAND (I, J)

Логическое И

IBCLR (I, POS)

Очистить бит

IBITS (I, POS, LEN)

Извлечение бит

IBSET (I, POS)

Установить бит

IEOR (I, J)

Эксклюзивный или

IOR (I, J)

Включая ИЛИ

ИШФТ (Я, СДВИГ)

Логический сдвиг

ISHFTC (I, SHIFT [, РАЗМЕР])

Круговой сдвиг

НЕ (я)

Логическое дополнение

АХАР (I)

Возвращает I-й символ в последовательности сортировки ASCII.

ADJUSTL (STRING)

Он корректирует строку слева, удаляя все ведущие пробелы и вставляя конечные пробелы

ADJUSTR (STRING)

Он корректирует строку, удаляя задние пробелы и вставляя ведущие пробелы.

ЧАР (Я [, ВИД]]

Возвращает I-й символ в определенной последовательности сортировки машины

ЯЧАР (С)

Возвращает позицию символа в последовательности сортировки ASCII.

ИЧАР (С)

Возвращает положение символа в определенной последовательности сортировки машины (процессора).

INDEX (STRING, SUBSTRING [, BACK])

Он возвращает крайнюю левую (самую правую, если BACK -. TRUE.) Начальную позицию SUBSTRING в пределах STRING.

ЛЕН (STRING)

Возвращает длину строки.

LEN_TRIM (STRING)

Возвращает длину строки без конечных пустых символов.

LGE (STRING_A, STRING_B)

Лексически больше или равно

LGT (STRING_A, STRING_B)

Лексически больше чем

LLE (STRING_A, STRING_B)

Лексически меньше или равно

LLT (STRING_A, STRING_B)

Лексически меньше чем

REPEAT (STRING, NCOPIES)

Повторная конкатенация

SCAN (STRING, SET [, BACK])

Он возвращает индекс самого левого (самого правого, если BACK равен .TRUE.) Символа STRING, принадлежащего SET, или 0, если ни один из них не принадлежит.

TRIM (STRING)

Удаляет завершающие пробелы

VERIFY (STRING, SET [, BACK])

Проверяет набор символов в строке

ВИД (X)

Возвращает значение параметра типа type.

SELECTED_INT_KIND (R)

Возвращает тип параметра типа для указанного диапазона показателей.

SELECTED_REAL_KIND ([P, R])

Реальное значение параметра типа типа с учетом точности и диапазона

ЛОГИЧЕСКИЙ (L [, KIND])

Преобразование между объектами логического типа с различными типами параметров