O que é Fortran

Fortan é a primeira linguagem de alto nível que saiu ao mercado. Já que continua sendo útill em Física, vamos estudá-la.

Por Miguel Angel Alvarez - Tradução de JML


Publicado em: 01/11/04

Valorize este artigo:
Um pouco de história

  • Esta linguagem processual foi a primeira de alto nível (1957)
  • Desenvolvido por IBM para o IBM 704.
  • Orientado à eficiência na execução.
  • Criou-se a definição padrão da linguagem no 66.
  • Outras versões:
    • FORTRAN 77
    • FORTRAN 90
Um simples exemplo



Características

Tipos de dados suportados:
  • Numéricos (inteiros, reais, complexos e dupla precisão).
  • Booleanos (logical)
  • Consertos
  • Cadeias de caracteres
  • Arquivos
FORTRAN 90 já é estruturado, e não requer sentenças GOTO. Somente admite dois âmbitos para as variáveis: local e global.

Vejamos agora um exemplo mais extenso:



Variáveis e constantes
  • FORTRAN não é sensível à maiúsculas e minúsculas. Os nomes de variáveis têm de 6 a 31 caracteres máximos e devem começar por uma letra. Os alvos são significativos.
  • Declaração explícita de variáveis.
  • Inteiras (I-N), ou resto reais. (modifica-se com IMPLICIT).
  • Ponteiros: nos primeiros FORTRAN não há ponteiros e todas as variáveis se armazenam em memória estática. Em FORTRAN 90 declaram-se INTEGER, POINTER::P.
  • Para memória dinâmica ALLOCATE e DEALLOCATE


Tipos de dados

  • Arrays, podem ter até 7 dimensões e se salvam por colunas.
    • REAL M(20),N(-5:5)
    • DIMENSION I(20,20) (tipo por nomenclatura implícita)
  • Cadeias de caracteres, o primeiro caractere é o 1, o operador // permite concatenar cadeias.
    • CHARACTER S*10, T*25
  • Armazenamento de dados. Usa-se COMMON para dados compartilhados e EQUIVALENCE quando armazenamos uma variável com dois possíveis tipos na mesma posição de memória (como união em C). Usa-se DATA para iniciar dados estáticos.
    • DATA X/1.0/,Y/3.1416/,K/20/
  • Tipos definidos pelo usuário, com TYPE <nome>... END TYPE <nome>
Controle de seqüência

O conjunto de estruturas de controle é limitado:
  • Expressões, prioridade de operadores
  • Enunciados
    • Atribuição, quando se faz entre cadeias existe ajuste de tamanho com alvos ou abreviações.
    • Condicional. Permite IF ELSE IF... Para seleção múltipla SELECT CASE CASE.....CASE DEFAULT.... END SELECT
    • Repetição. DO....END DO
    • Nulo, usa-se somente para a etiqueta. CONTINUE.
  • Controle de subprogramas. CALL invoca ao subprograma e RETURN devolve um valor ao programa que chama.
  • Construções propensas a erros: GOTO.
Entrada e saída

  • Tipos de arquivos:
    • Seqüenciais
    • De acesso direto
  • Comandos: READ, WRITE, PRINT, OPEN , CLASE, INQUIRE (propriedades ou estado do arquivo) REWIND e ENDFILE (para encontrar o ponteiro do arquivo).
  • Para o tratamento de exceções nas sentenças READ/WRITE pode-se introduzir a posição da rotina de tal tratamento (ERR=90).
Subprogramas

  • Há três tipos de subprogramas:
    • Function, devolvem um só valor de tipo numérico, lógico ou cadeia de caracteres.
    • Subroutine, devolve valores através de variáveis não locais COMMON.
    • Função de enunciado, permite calcular somente uma expressão aritmética ou lógica.
      • FN(X,Y)=SIN(X)**2-COS(Y)**2
  • Gestão de armazenamento.
    • As variáveis são locais ou globais (COMMON)
    • Recursividade: RECURSIVE FUNCTION FACTORIAL(X)
    • Parâmetros de subprograma. Passo por referência.
Abstração e encapsulação. Avaliação da linguagem

  • A abstração é possível mediante os subprogramas e o uso de variáveis COMMON, embora seu uso está propenso a erros.
  • FORTRAN continua sendo utilizado no âmbito científico e é muito eficiente realizando cálculos.
    • A estrutura do programa costuma ser difícil de entender.
    • Em FORTRAN 90 se inclui a recursividade e a memória dinâmica.
    • As etiquetas das sentenças já não são necessárias, nem o GOTO, pois se transformou em uma linguagem estruturada.
    • O aspecto dos programas continua sendo de processamento por lotes





Comentários do artigo
Foi enviado 1 comentário ao artigo
1 comentário não revisado
0 comentários revisados

Usuários :    login / registro
Manuais relacionados
Categorias relacionadas
O autor

Buscar projetos:

Home | Sobre nós | Copyright | Anuncie | Entrar em contato