2.1 Introdução
[C] FORTRAN = FORmula TRANslation (em português:
tradução de fórmulas).
[D] O Fortran é uma linguagem simples
cujo vocabulário consiste de um conjunto de palavras, conhecidas
como "palavras-chave" (para se ter uma idéia, no Fortran77 eram
cerca de 450; atualmente o número é bem maior).
[D] Um "comando" Fortran é uma sentença
escrita nesta linguagem. Um programa consiste numa seqüência
de comandos, cada um escrito numa linha.
2.2. Definições da Linguagem
[D] Programa Principal é
uma unidade que pode chamar outras unidades de programa, mas que não
pode ser chamado por estas. O programa principal é quem recebe o
controle da execução no início da fase de execução.
[D] Subprograma é uma unidade
de programa que é chamada por outra unidade de programa. Pode ser
de dois tipos: subrotina ou função. Usualmente um subprograma
recebe parâmetros de entrada e retorna parâmetros de
saída.
[D] Função Intrínseca
é uma função suprida pelo compilador e que realiza
operações sobre números ou caracteres.
[D] Programa Executável é
um programa já em linguagem de máquina que pode ser executado
pelo computador. Consiste de um programa principal e subprogramas.
[D] Comando Executável é
aquele que efetua cálculos, testes, providencia entrada ou saída
de dados, altera o fluxo de execução ou atribui valores a
variáveis.
[D] Comando Não-Executável
é aquele que descreve as características de uma unidade de
programa, dos dados ou de informações de edição.
[D] Unidade de Programa é
uma seqüência de comandos terminando com um comando END.
[D] Arquivos de Dados são
unidades de entrada e saída de dados, passíveis de serem
lidos/escritos por um programa.
2.3. Itens sintáticos do Fortran
[D] Sintaxe é a parte da
gramática que estuda a disposição das palavras na
frase e a das frases no discurso.
[D] Constantes são valores
ou números que ocorrem num programa.
[D] Nome simbólico é
uma seqüência de uma ou mais letras ou dígitos, o primeiro
dos quais deve ser uma letra.
[D] Variáveis são
valores ou números ou conjuntos de caracteres que ocorrem num programa
e que podem sofrer variações durante a execução
do programa. Na realidade uma variável é o nome de uma localização
da memória.
[D] Número de comando é
um número de um a cinco dígitos, um dos quais deve ser diferente
de zero e é usado para identificar um comando. Deve estar localizado
no início da linha.
[D] Palavra chave é uma seqüência
de letras que identificam exclusivamente comandos Fortran.
[D] Operador é um ente similar
a um operador matemático.
[C] Valores são obtidos da memória
quando eles são usados no lado direito do sinal de igual.
[C] Observe que o sinal de "=" não
indica uma igualdade e sim uma atribuição.
[C] O Fortran permite que você defina
diferentes tipos de variáveis. Usa-se variáveis inteiras
para armazenar números inteiros, variáveis reais para números
reais, variáveis complexas para números complexos, variáveis
caracter para palavras e frases, etc.
[C] Você pode definir os tipos de
variáveis no seu programa através de "comandos de definição
de tipo".
[CF] Existem vários comandos Fortran
para a definição de tipo de variável, entre os quais
"CHARACTER", "INTEGER" e "REAL".
[C] Os cálculos podem ser feitos
através de comandos de atribuição, escrevendo-se uma
"expressão" no lado direito do sinal de igual.
[C] Símbolos de operações
matemáticas (também conhecidos como "operadores aritméticos"):
adição, "+"; subtração, "-"; multiplicação,
"*"; divisão, "/"; potenciação, "**".
[C] Pode-se usar parênteses para
agrupar termos em expressões Fortran, como é feito em álgebra.
2.4. Caracteres usados no Fortran
[D] O conjunto de caracteres Fortran é
constituído de: letras (ou caracteres alfabéticos), dígitos
(ou caracteres numéricos) e símbolos especiais como =, +,
-, /, *, etc.
[C] É preciso tomar cuidado em relação
aos símbolos especiais, pois estes podem variar de função
dependendo do fabricante do compilador.
2.5. Uma visão geral do Fortran
[E] Exemplo de um programa para calcular a média das notas de uma prova de uma turma e determinar o número de notas acima e abaixo de 5,0. Vamos usar a equação abaixo para calcular a média da turma:
,
sendo que: MT =
média da turma,
nota(i) = nota do aluno i,
NT = número total de alunos.
O código do programa poderia ser:
program media
! programa para calcular a media de uma turma
! programador: FCLavarda
implicit none
integer i,nt,ns5,ni5
real mt,nota,soma
soma=0.0
ns5=0
ni5=0
print *,'Digite o numero total de alunos: '
read *, nt
do i=1,nt
print *,'Digite a nota
do aluno ',i
read *,nota
soma=soma+nota
if(nota>=5.0) then
ns5=ns5+1
else
ni5=ni5+1
endif
enddo
mt=soma/nt
print *,'*** Resultados ***'
print *,'Media da turma: ',mt
print *,'Notas superiores ou iguais a 5.0 = ',ns5
print *,'Notas inferiores a 5.0 = ',ni5
stop
end
[C] Veja figura a seguir contendo o fluxograma para o programa media.f90.
[C] Uma "variável" Fortran é
um nome para uma localização de memória. Variáveis
no exemplo acima: nt, ns5, ni5, mt, nota, soma, i.
[C] O "valor" de uma variável é
a informação armazenada na localização de memória
que é representada pela variável.
[D] Um "comando de atribuição" é o tipo de comando que permite armazenar um valor em uma variável. Comandos de atribuição no exemplo acima:
soma=0.0
ns5=0
ni5=0
soma=soma+nota
ns5=ns5+1
ni5=ni5+1
mt=soma/nt
[C] Quando você atribui um valor
a uma variável, o valor anteriormente armazenado é destruído.
[C] Os comandos num programa Fortran são,
normalmente, executados na ordem em que são escritos. Entretanto,
pode-se alterar esta ordem de execução através dos
"comandos de controle de fluxo".
[CF] Um comando de controle que representa
uma decisão é a construção "IF-THEN-ELSE",
que é sempre terminado por um comando ENDIF.
[C] Veja figura a seguir para uma tomada de decisão e desvio do fluxo de execução.
[E] Veja figura a seguir para o fluxograma para o algoritmo que decide aprovar ou reprovar um aluno, baseado na sua média final.
[C] Comandos Fortran para o fluxograma anterior:
if(mf>=5.0)then
situacao='aprovado'
else
situacao='reprovado'
endif
[CF] Um comando de controle que representa
um laço é o comando "DO", que é sempre terminado por
um comando ENDDO.
[C] Em Fortran77, um comando DO pode terminar
por um comando numerado.
[C] Veja a seguir um fluxograma de um laço de repetição.
[E] Veja a seguir o fluxograma para o algoritmo para somar todos os números naturais de 1 a 10.
[C] Comandos Fortran para o fluxograma anterior:
soma=0
do i=1,10,1
soma=soma+i
enddo
[E] Veja a seguir o fluxograma para o algoritmo para somar todos os números naturais pares de 1 a 10.
[C] Comandos Fortran para o fluxograma anterior:
soma=0
do i=2,10,2
soma=soma+i
enddo
[CF] Para dizer ao computador para parar
a execução de seu programa, você usa o comando "STOP".
[CF] A última linha em qualquer
unidade de programa Fortran é sempre o comando "END".
2.6. Codificação de programas em Fortran
2.6.1. Formato Livre (Fortran90 e posteriores)
[D] Cada comando é escrito numa
linha.
[C] Cada linha de comando possui até
132 colunas. O editor de texto é capaz de trabalhar com um número
maior de colunas (cuidado!).
[D] Continuação de comandos:
muitas vezes um comando não cabe nas colunas disponíveis
em uma linha (ou não se quer escrever tudo numa linha). Uma "linha
de continuação" pode então ser definida simplesmente
colocando-se um caractere & no final da linha e continua-se na de baixo.
Pode-se fazer isto até 39 vezes seguidas, de modo que um comando
pode ter até 40 linhas. Como sugestão de boa programação,
as colunas [1,5] podem ficar em branco.
[C] Para a codificação de
arquivos de dados de entrada e saída, estes seguem a estrutura que
porventura seja definida no próprio programa que vai ler/escrever
neste arquivo.
2.6.2. Formato Fixo (Fortran77 e anteriores)
[D] Cada comando é escrito numa
linha e cada linha, por sua vez, é dividida em "campos", que são
conjuntos de colunas.
[C] Cada linha de comando possui 80 colunas.
O editor de texto é capaz de trabalhar com um número maior
de colunas (cuidado!).
[D] Cada linha é dividida em 4 campos,
que são formados pelos conjuntos de colunas [1,5], [6], [7,72] e
[73,80].
[D] Campo de números de comando,
colunas [1,5]: um número de comando (qualquer número inteiro
e maior que zero, consistindo de 5 dígitos) pode ser escrito nas
colunas de 1 a 5. Brancos e zeros à esquerda são ignorados.
[D] Campo de continuação
de comandos, coluna [6]: muitas vezes um comando não cabe nas
66 colunas disponíveis em uma linha. Uma "linha de continuação"
pode então ser definida simplesmente colocando-se um caractere qualquer
diferente de branco e zero na coluna 6. Pode-se fazer isto até 19
vezes seguidas, de modo que um comando pode ter até 20 linhas. As
colunas [1,5] devem ficar em branco.
[D] Campo de comandos, colunas [7,72]:
somente nestas colunas pode-se escrever um comando Fortran.
[D] Campo de identificação,
colunas [73,80]: este campo é usado somente para identificação
do programa. Isto é uma herança muito velha, pouco usado
hoje. Geralmente o compilador que ainda se importa com a identificação
do programa, escreve os primeiros 8 caracteres do nome do programa nestas
colunas.
[D] Linhas de comentário,
coluna [1]: qualquer linha que contenha uma letra "c" ou um asterisco "*"
na coluna 1 são ignoradas em Fortran. São usadas para inserir
comentários dentro de um programa Fortran.
[C] Para a codificação de
arquivos de dados de entrada e saída, estes seguem a estrutura que
porventura seja definida no próprio programa que vai ler/escrever
neste arquivo.