A programação imperativa é um paradigma que descreve a computação como ações (ou comandos) que mudam o estado e/ou variáveis de um programa. Recebe esse nome por ser parecido com o comportamento imperativo das linguagens naturais que expressam ordens, através de verbos conjugados no modo imperativo. A primeira linguagem de programação imperativa e de alto nível a ganhar ampla aceitação foi o FORTRAN.

O nome deriva de FORmula TRANslation, pois a ideia inicial da linguagem era traduzir equações científicas para códigos de computador. O primeiro compilador de FORTRAN foi desenvolvido para o IBM 704 em 1954-57. Desde então, vieram outras versões: Fortran II, Fortran IV – Fortran 66, Fortran 77, Fortran 90/95, Fortran2003/2008.
O Fortran77 acabou fiando muito obsoleto em relação às linguagens atuais e aos recursos existentes. Por exemplo, as linhas dos programas tem formato fixo (somente é possível escrever na posição 7 a 72), somente aceita letras maiúsculas e os nomes de variáveis só aceitam até 6 caracteres.
O Fortran 90 possui novos recursos na definição de um “array”, alocação de memória dinâmica, estruturas de controle, etc. O formato das linhas está mais livres: recebe até 132 caracteres por linha, contendo letras maiúsculas e/ou minúsculas (sem diferenciação), os nomes de variáveis podem receber até 31 caracteres e também é possível ter mais de um comando por linha.
Compilador
Um compilador é o programa que traduz de uma linguagem de compilação (código fonte) para outra linguagem equivalente (código objeto ou de máquina).
O gfortran (do GNU) é um dos mais populares. Ele costuma distinguir os arquivos .f/.F como os de tamanho fixo e os .f90/.F90 como formato livre. Geralmente já vem com o Linux, mas pode ser instalado através do repositório: comando “sudo apt-get install gfortran”.
A partir do momento que tiver um código fonte, pode ser executado o seguinte código para gerar um arquivo binário (ou executável), legível somente pela máquina em que foi compilado (ou uma equivalente):
gfortran nomes_do_programa -o nome_do_executavel
Para rodar o programa, basta indicar o local onde está o programa junto com o seu nome. No caso de estar no mesmo diretório de trabalho, basta executar “./nome_do_executavel”.
Código fonte
O exemplo abaixo começa com um comentário (usando ponto de exclamação como primeiro caractere de uma linha) e o nome do programa. Depois, vem a parte de declaração de variáveis, que podem ser INTEGER (inteiro), REAL (ponto flutuante, que pode ter precisão dupla, como DOUBLE PRECISION), COMPLEX (complexo), LOGICAL (lógico) e CHARACTER (texto). O READ permite entrar dados antes ou durante a execução do programa. Com o WRITE (ou PRINT), podemos ver os resultados da execução do código.
! Programa de teste Fortran PROGRAM teste ! Declaracao das variaveis (sem variaveis implicitas) implicit none INTEGER :: i REAL :: x,y ! Inicio do programa PRINT*, "Monolito Nimbus" DO i = 1, 10 x = I*0.1; y=x**2 IF (y < 0.5) THEN WRITE(*,*), 'resultados:',x,y ELSE WRITE(*,*), 'potencia maior do que 0.5' ENDIF END DO END PROGRAM teste
O código também conta com um exemplo do uso de condicional IF/ELSE dentro de um loop DO.
IFORT
O compilador Intel Fortran, também conhecido como IFORT, é um grupo de compiladores Fortran da Intel para Windows, OS X e Linux. O programa deve ser baixado mediante um cadastro no site, que permitirá o envio de uma licença para o seu e-mail. Para realizar o download e instalação no seu computador, execute os seguintes passos (como exemplo, usando a versão 2019.5.075):
$ curl -LO http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15809/parallel_studio_xe_2019_update5_cluster_edition.tgz $ tar xzf parallel_studio_xe_2019_update5_cluster_edition.tgz $ cd parallel_studio_xe_2019_update5_cluster_edition $ sudo ./install.sh
Talvez seja necessário instalar alguns pacotes pelo repositório. Além disso, é preciso inserir a variáveis de ambiente, o que pode ser feito acrescentando as seguintes linhas no arquivo “~/.bashrc” do seu usuário:
source /opt/intel/parallel_studio_xe_2019.5.075/bin/psxevars.sh source /opt/intel/bin/compilervars.sh intel64 source /opt/intel/mkl/bin/mklvars.sh intel64 export PATH="$PATH:/opt/intel/bin" export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/libraries/intel/lib"
Não esqueça de atualizar seu terminal usando “source ~/.bashrc” ou abrindo um novo. A compilação de um programa em fortan usando o ifort e algumas flags seria assim:
$ ifort -o nome_do_executavel.exe nome_do_programa.f90 -I/opt/libraries/intel/include -L/opt/libraries/intel/lib -lnetcdff -lnetcdf
Os diretórios definidos com “includes” (-I) e “libraries” (-L) foram definidos nas respectivas flags, assim como o uso de bibliotecas para NetCDF. Para executar o binário gerado, basta usar “./nome_do_executavel.exe”.
Fontes