Você está na página 1de 20

FORTRAN 77

Prof. Idalmir de Souza


 FORTRAN é uma linguagem de programação de alto
nível criada na década de 1950, é muito simples,
econômica e objetiva.
 Seu nome deriva de FORmula TRANslator
 Existem várias versões do FORTRAN
• FORTRAN padrão
• FORTRAN IV
• FORTRAN 77
• FORTRAN 90, etc
 As versões mais usadas são a 77 e a 90
 Existem diversos compiladores para FORTRAN, entre
eles podemos destacar o compilador GNU do Linux e o
da Microsoft.
 Para Windows o compilador GNU é disponibilizado com
o editor FORCE que pode ser baixado do Project Force.
 Para Linux usamos o F77, que é uma versão mais antiga
do Fortran Linux, ou GFORTRAN, versão mais recente.
 Os arquivos de programa são gravados com as
seguintes extensões:
Sem
.for .f .f90 extensão
 Critérios para se escrever um programa em FORTRAN
PADRÃO:
• colunas 1 a 5: usadas para escrever números de
comando, que devem ser inteiros, não podem se
repetir e não precisão estar em ordem crescente.
• coluna 6: qualquer caractere diferente de 0 (zero)
nesta coluna indica que o que vem a seguir é
continuação da linha anterior .
• colunas 7 a 72: comandos ou comentários;
• colunas 73 a 80: campos de identificação usados pelo
computador.
Exemplo de programa
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

p r o g r a m n o m e

c c o m e n t á r i o
! o u t r o c o m e n t á r i o

w r i t e ( * , 5 ) ‘ n u m e r o : ‘
5 r e a d ( * , * ) n

w r i t e ( * , * ) ‘ V o c e d i
# g i t o u ‘ , n

s t o p
e n d
 Os símbolos aceitos pelo FORTRAN são letras,
números, e símbolos do teclado, além do apóstrofe (´), e
não aceita acentuação ou símbolos gráficos.
 “C” e “!” Representam comentários, porém “C só se usa
na primeira coluna, e “!” se usa em qualquer posição.
 O FORTRAN não é sensível ao caso.
 Nomes de identificadores devem ter até 6 caracteres no
FORTRAN padrão, e 32 nos mais modernos.
 Nomes de identificadores devem ser escritos apenas
com letras ou números, e sempre iniciados com letras,
por exemplo: A15, nome, XyZ2, numero, etc.
 As variáveis podem ser:
• Integer : –2.147.483.648 a 2.147.483.647
• Real: 3,402823E-38 a 3,402823E-38 (1.175494E-38)
• Complex: escrita entre parêntesis (Re, Im)
• Logical: .TRUE. (VERDADEIRO) ou .FALSE. (FALSO)
• Character: cadeia de caracteres, ou strings

 Uso
• real x, y5, numero
• complex z, C, cp55
• character nome*30, valor*10
 Também chamadas de matrizes ou vetores, são
variáveis armazenadas pelo mesmo nome, porém com
índices diferentes.
 Podem ser declaradas com o comando “Dimension” ou
diretamente nas declarações de tipo, por exemplo:
• real x
• dimension x(3,3)
• real y(3,3)
 Uso:
x(1,2)=0.5 z = y(1,1) x(1,3) = y(3,1)
Aritméticos Relacionais Lógicos
** Potenciação .EQ. Igual .NOT. Não
* Multiplicação .NE. Diferente .AND. E
/ Divisão .GT. Maior que .OR. OU
+ Adição .GE. Maior ou igual
- Subtração .LT. Menor que
.LE. Menor ou igual

y=a*x**2+b*x+c delta .LT. 0.0

delta=b*b-4*a*c delta .GE. 0.0

y=(-b+(delta)**0.5)/(2*a) (delta .LT. 0.0) .AND. (a.NE.0.0)


 Identificador = expressão
 Por exemplo:
• x = 2.5
• Nome = ´UFERSA´
• i=2
• z = (3.0, 4.0)
• check = .T. ou .TRUE.
• teste = i .NE. J
• escolha = (a .GT. b) .OR. (c .LT. d)
 As funções podem ser:
• Implicitas: existentes na linguagem
• Explicitas: criadas pelo usuário
• Declaração: criada pelo usuário, apenas o FORTRAN
possui este tipo de função. É criada no início do
programa e usada em qualquer momento.
 Funções implicitas:

sin(x) cos(x) tan(x) sinh(x) cosh(x) tanh(x)

asin(x) acos(x) atan(x) abs(x) exp(x) log(x)


Program pitagoras

p(a,b) = sqrt(a**2 + b**2)

real hip, x, y

write(*,*) ´Digite os tamanhos dos catetos do triângulo retângulo: ´


read(*,*) x,y

hip = p(x,y)

write(*,*)’A hipotenusa do triângulo é ´, hip

stop
end
 Sempre retornam um valor, e pode ter qualquer
quantidade de parâmetros.
 Funcionam de forma semelhante às funções internas. O
tipo da função deve ser declarado no programa principal,
como se fosse uma variável comum, além disso, uma
função pode chamar outras funções.

 Uso: variável = nome_da_função (lista_de_parâmetros)

 Por exemplo: raiz = secante(f, n, a, b)


 Definição:
tipo function nome_da_função(lista_de_parâmetros)
definição e declaração e seqüência de comandos
return
end
 Exemplo
real function pitag(x, y)
real x, y
pitag = (x**2 + y**2)**(1./2.)
return
end
 Não retornam nenhum valor, e podem ter qualquer
quantidade de parâmetros.
 Podem conter qualquer comando que existiria em um
programa comum. Podem chamar outras subrotinas.
São semelhantes às PROCEDURES em pascal.

 Uso: call nome_da_subrotina (lista_de_parâmetros)

 Por exemplo: call secante(f, n, a, b, sec)


 Definição:
subroutine nome_da_subrotina
definição e declaração e seqüência de comandos
return
end
 Exemplo
subroutine pitag(x, y, ptg)
real x, y, ptg
ptg = (x**2 + y**2)**(1./2.)
return
end
 Comando SE:
if (delta .LT. 0) then
• If (condição) then write(*,*) ‘Não existe raiz real’
endif
• bloco de comandos
• endif

• If (condição) then if (delta .LT. 0) then


write(*,*) ‘Não existe raiz real’
• bloco de comandos1
else
• else y1 = -b+sqrt(delta))/(2*a)
y2 = -b+sqrt(delta))/(2*a)
• bloco de comandos2 endif
• endif
 Comando DO
DO contador = valor_inicial, valor_final, passo
Bloco de comandos
ENDO

 Por exemplo:
soma = 0
DO i = 1, 10, 2
soma = soma + i
ENDDO

Você também pode gostar