3.3.1 Funções Intrínsecas

Dentro do Fortran 90 podemos simplesmente calcular um seno utilizando séries ou utilizar a função intrínseca já existente no Fortan 90. Na tabela 3.2 apresentamos as funções intrínsecas mais usuais.


Tabela 3.2: Funções intrínsecas usuais no Fortran 90/95.
Nome e Argumento Valor da Função Tipo de Argumento Tipo de Resultado Comentário
SQRT(X) $\sqrt{x}$ R R Raiz quadrada de x para $x>0$
ABS(X) $\vert x\vert$ R/I * Valor absoluto de x
ACHAR(I) I CHAR(1) Retorna o caracter referente a posição 1 na tabela ascii
SIN(X) $sin(x)$ R R Seno de x (x deve estar em radianos)
COS(X) $cos(x)$ R R Cosseno de x (x deve estar em radianos)
TAN(X) $tan(x) $ R R Tangente de x (x deve estar em radianos)
EXP(X) $e^x$ R R No. neperiano elevado a potência x
LOG(X) $log_{e}(x)$ R R Logarítmo natural de x, para x>0
LOG10(X) $log_{10}(x)$ R R Logarítmo na base 10 de x, para x>0
IACHAR(C) CHAR(1) I Retorna a posição do carácter C referente a tabela ascii
INT(X) R I Parte inteira de x (x é truncado)
NINT(X) R I Parte inteira de x (x é arredondado)
REAL(X) I R Converte um número inteiro em real
MOD(A,B) R/I * Resto de um divisão de A por B (A/B)
MAX(A,B) R/I * Pega o maior entre A e B
MIN(A,B) R/I * Pega o menor entre A e B
ASIN(X) $sin^{-1}(x)$ R R Arco cujo Seno seja x (resultado em radianos)
ACOS(X) $cos^{-1}(x)$ R R Arco cujo Cosseno seja x (resultado em radianos)
ATAN(X) $tan^{-1}(x)$ R R Arco cuja Tangente seja x (resultado em radianos)


Atividade (prog4a.f90) para exemplificar algumas funções intrínsecas.

! CRIADO EM DD/MM/AAAA - NOME
! PROGRAMA PARA EXEMPLIFICAR UMA FUNCAO INTRINSECA
! --> ANGULO, TRANSFORMACAO DE GRAUS PARA RADIANOS
! --> CONVERSAO DE REAL PARA INTEIRO TRUNCADO OU ARREDONDADO
! --> CONVERSAO DE NUMERO PARA CARACTER DA TABELA ASCii
! --> CONVERSAO DE CARACTER PARA NUMERO DA TABELA ASCii
!
program prog4a ! INICIO DO PROGRAMA
implicit none  ! SINTAXE OBRIGATORIA NO CURSO

!!! DECALRACAO DE VARIAVEIS INTEIRAS
integer :: h33,h64,h65,h76,h79,i1,i2
!!! DECLARACAO DE VARIAVEIS REAIS
real(4) :: a,conv_rad,ang_graus,r1
real(8), parameter :: pi=3.1415926535897932385
!!! DECLARACAO DE VARIAVEIS CARACTER
character(1) :: c1,c26

!!!============================ ATRIBUICAO DE VALORES
!!! VARIAVEIS CARACTERES
c1='A'
c26='Z'

!!! VARIAVEIS INTEIRAS
h33=33
h64=64
h65=65
h76=76
h79=79

!!! VARIAVEIS REAIS
!a=3.5555
a=3.4
conv_rad=pi/180.0
ang_graus=60.0

!!! FUNCOES INTRINSECAS
r1=sin(ang_graus*conv_rad)
i1=INT(a) !TRUNCADO
i2=NINT(a) !ARREDONDADO

!!!============================ ESCREVENDO NA TELA
!!! IMPRIMINDO VARIAVEIS INTEIRAS
write(*,*) i1,i2,r1
!!!=== IMPRIMINDO OS CARACTERES
write(*,*) CHAR(h64),CHAR(h79),CHAR(h76),CHAR(h65),CHAR(h33)
!!!=== IMPRIMINDO OS NUMEROS
write(*,*) IACHAR(c1),IACHAR(c26)

!!! FINAL DO PROGRAMA
stop
end program prog4a ! FECHANDO O PROGRAMA