Física Computacional - FSC-5705

só um divisor

Programando em Fotran 90

Em esta seção apresento as aulas ministradas nos anos de 2010 e 2011 no curso de Fisica computacional para o bacharelado no departamento de Física da UFSC. Durante esse período a linguagem que utilizei foi o Fortran 90, devido a sua simplicidade e elegância, mas pensando no futuro e as necessidades do mercado no ano de 2012 mudei para C.

O Fortran é a linguagem mais antiga que existe, costumo dizer que se uma III guerra mundial fosse deflagrada vão sobrar as baratas e com certeza algum "pendrive" com um compilador Fortran, com isso em mão elas reconstruiriam todo o mundo. Mas, porque ele é quase imortal. A resposta está na sua simplicidade, Fortran foi desenhado para ser uma linguagem simples e melhor ainda, destinada ao mundo científico e das engenharias. Podemos ver sua simplicidade em ação ao comparar, por exemplo, se comparamos como o Fortran e o C tratam os arquivos binários; similar ao C, Fortran define que o arquivo é de tipo binário na abertura (Form = 'Unformatted'), mas a diferença do C a gravação do arquivo é muito simples no Fortran, é igual como se tratam os arquivos de texto, com a diferença de que não devemos definir o formato. É claro que essa comparação é injusta, já que a função que trata desse tipo de arquivos é mais flexível que o Write do Fortran. Poderíamos ficar aqui listando vantagens de um sobre o outro mas a verdade é que o Fortran é com uma estrela super massiva no seu últimos estágios, está lutando para sobreviver mais sua fonte de energia está se esgotando rapidamente, nos estamos deixando de alimentar o Fortran por uma outra linguagem dita "mais moderna".

A continuação apresento os rudimentos necessários para se inciar no Fortran, aproveite:

  1. O primeiro programa
  2. Tipo de dados
  3. Entrada e saída: arquivos, teclado, tela
  4. Formatação da saída e entrada
  5. Controle de fluxo: if, variáveis logicas
  6. Blocos de repetição: Do, laços infinitos
  7. Arranjo e Matrizes: alocação estáticas e dinâmica
  8. Funções e sub rotinas: Módulos, Interfaces, Tipos derivados