1. MINI-CURSO FORTRAN 90
Exemplos apresentados em Fortran 90
Exemplo 1)
PROGRAM circulo
IMPLICIT NONE
! Este programa calcula a equação de
! um círculo passando por 3 pontos
! Definições de variáveis
REAL :: x1,y1,x2,y2,x3,y3,a,b,r
! Passo 1
PRINT *,”Escreva as coordenadas dos 3 pontos”
PRINT *,”na ordem x1,y1,x2,y2,x3,y3”
READ *,x1,y1,x2,y2,x3,y3
! Passo 2
CALL calcula_circulo(x1,y1,x2,y2,x3,y3,a,b,r)
! Passo 3
PRINT *,O centro do circulo que passa &
& pelos 3 pontos eh (“,a,”,”,b,”)”
PRINT *,”O seu raio eh”,r
END PROGRAM circulo
Exemplo 2)
REAL FUNCTION raiz_cubica(x)
IMPLICIT NONE
REAL, INTENT(IN) :: x
REAL :: log_x
log_x = LOG(x)
raiz_cubica = EXP( log_x / 3.0 )
END FUNCTION raiz_cubica
Exemplo 3)
SUBROUTINE raizes(x,raiz2,raiz3,raiz4,raiz5)
IMPLICIT NONE
REAL, INTENT(IN) :: x
REAL, INTENT(OUT) :: raiz2,raiz3,raiz4,raiz5
REAL :: log_x
raiz2 = SQRT(x)
log_x = LOG(x)
raiz3 = EXP(log_x/3.0)
raiz4 = EXP(log_x/4.0)
raiz5 = EXP(log_x/5.0)
END SUBROUTINE raizes
2. Exemplo 4)
PROGRAM testa_if
IMPLICIT NONE
! Programa que pede ao usuário dois numeros
! e testa qual eh o maior
! Definicao das variaveis
REAL :: a,b
! Inicializando as variaveis
a=0.0; b=0.0
! Pedido ao usuario
PRINT *,”Entre com dois números:”
READ *,a,b
! Testando qual é o maior
IF ( a>b ) THEN
PRINT *,”O primeiro numero eh maior”
ELSE IF ( a<b ) THEN
PRINT *,”O segundo numero eh maior”
ELSE
PRINT *,”Os dois numeros sao iguais”
END IF
END PROGRAM testa_if
Exemplo 5)
PROGRAM tabela_multiplicacao
IMPLICIT NONE
! Um programa para imprimir as tabelas
! de multiplicacao de 2 a 12
! Definicao de variaveis
INTEGER :: i,j
! Loop externo: define a tabela
DO i=2,12
PRINT *,” “
PRINT *,”tabela de multiplicacao do “,i
! Loop interno: calcula as multiplicacoes da tabela
DO j=1,12
PRINT ,i,” vezes “,j,” = “,i*j
END DO
END DO
END PROGRAM tabela_multiplicacao