Show O Fortran traz diversas funções nativas para o uso em aritmética, trigonometria, transformação de tipos e outras. As funções intrínsecas (ou de biblioteca) listadas na Tabela 1 são as mais comumente usadas nos programas quotidianos. Uma lista mais completa pode ser encontrada na documentação do Fortran - FORTRAN 77 Language Reference - Chapter 6 Intrinsic Functions e Fortran 90.
Em funções, as variáveis, constantes ou valores que estão entre os parenteses são chamados de argumentos. Nota: O tipo do retorno da função não é explicito, ou seja o usuário deverá conhecer a documentação da função a fim de identifica-lo para poder fazer atribuições às variáveis de maneira correta. Funções intrínsecas são algumas funções comuns e importantes que são fornecidos como parte da linguagem Fortran, podem ser classificados como:
Na coluna nome da função,
Funções numéricas
Exemplo: 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 numericFunctionsQuando você compilar e executar o programa acima , produz o seguinte resultado: 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)Funções aritméticasDescrição da função
Exemplo O seguinte programa calcula a posição horizontal e vertical x e y, respectivamente, de um projétil depois de um tempo, t: em que, x = ut cos(a) e y = ut sen(a) - gt^2 / 2 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 projectileMotionQuando você compilar e executar o programa acima , produzirá o seguinte resultado: x: 141.421356 y: -1818.57861Funções de consulta numéricasEstas funções funcionam com um determinado modelo de inteiro e aritmética de ponto flutuante. As funções de regresso propriedades dos números do mesmo tipo que a variável X, o qual pode ser real e, em alguns casos inteiro. Descrição da função
Funções para manipulação de ponto flutuanteDescrição da função
Funções de manipulação de bitsDescrição da função
Funções de caracteresDescrição da função
Funções de tipo Kind functionsDescrição da função
Função lógicaDescrição da função
Programa de exemplo do uso de funções<script src="https://gist.github.com/zrhans/2904c8a047d250744fc758d601fe35fc.js"></script>
|