Você está na página 1de 4

Captulo 2

Formato do C
odigo-Fonte
Neste captulo estuda-se, inicialmente, um formato basico para o programa-fonte em Fortran 90/95 e os tipos
de variaveis e suas caractersticas basicas.

2.1

Formato do programa-fonte

Em Fortran ha tres formatos basicos de arquivos que s


ao utilizados:
Programa-Fonte. Trata-se do programa e/ou dos subprogramas escritos pelo programador, usando algum
tipo de editor de texto, de acordo com as regras definidas pela linguagem de programacao de alto nvel.
Programa-Objeto. Trata-se do programa-fonte compilado pelo compilador. Esta e a transcricao realizada
pelo compilador do programa-fonte fornecido pelo programador para uma linguagem de baixo nvel, como
Assembler ou outro codigo diretamente interpretavel pela CPU. O programa-objeto nao pode ainda ser
executado; e necess
aria ainda passar-se pela fase do linking (traducao livre: linkagem).
Programa execut
avel. Ap
os a fase de compilacao, onde os programas objetos sao criados, o agente de compilacao aciona o linker, o qual consiste em um programa especial que agrupa os programas objetos de forma
a criar um arquivo final, o programa executavel, o qual pode ser entao executado pelo programador.
Nesta secao ser
a apresentada a estrutura basica de um programa-fonte em Fortran 90/95.
O Fortran 90/95 suporta duas formas de codigo-fonte: o formato antigo do Fortran 77, agora denominado
formato xo e o novo formato livre.
Fortran 77: O formato fixo foi utilizado pelo Fortran desde a primeira versao ate o Fortran 77. Este formato
foi determinado pelas restric
oes impostas pelos cartoes perfurados, que eram a u
nica opcao para entrar com o
codigo fonte. A estrutura do formato fixo e a seguinte:
Colunas 1-5: r
otulos (labels) para desvio de processamento do programa.
Coluna 6: caractere de continuac
ao de linha.
Colunas 7-72: c
odigo fonte.
Ha, ainda, a possibilidade de incluir o caractere C ou c na coluna 1, o que instrui o compilador a ignorar
tudo que segue neste linha. Esta a a forma encontrada para se colocar comentarios dentro do codigo fonte.
Fortran 90/95: No formato livre nao ha uma coluna especfica para iniciar o programa. Pode-se comecar a
escrever o codigo a partir da coluna 1 e a linha de codigo pode se estender ate a coluna 132. Alem disso, os
caracteres em branco sao irrelevantes em qualquer lugar do codigo, exceto quanto estiverem sendo utilizados
entre apostrofes. Neste caso cada caractere em branco sera avaliado na composicao final do string.
Mais de uma instruc
ao pode ser colocada na mesma linha. O separador de linhas padrao e o ponto-e-vrgula
;. M
ultiplos ; em uma linha, com ou sem brancos, sao considerados como um separador simples. Desta
forma, a seguinte linha de codigo e interpretada como 3 linhas em seq
uencia1 :
1 Este

recurso n
ao
e aceito pelo compilador em uso.

10

2.1. Formato do programa-fonte


A = 0; B = 0; C = 0

O caractere ampersand & e a marca de continuacao, isto e, ele indica que a linha com instrucoes imediatamente posterior e continuac
ao da linha onde o & foi digitado. Desta forma, sao permitidas ate 39 linhas
adicionais de codigo. Como exemplo, a seguinte linha de codigo:
X = (-Y + ROOT_OF_DISCRIMINANT)/(2.0*A)
tambem pode ser escrita usando o &:
X =
(-Y + ROOT_OF_DISCRIMINANT)
/(2.0*A)

&
&

Para entrar com coment


arios em qualquer ponto do codigo-fonte, o usuario deve digitar o ponto de exclamacao
! em qualquer coluna de uma linha. Todo o restante da linha sera desprezado pelo compilador. Exemplo:
X = Y/A - B ! Soluciona a equa
c~
ao linear.
O programa Al
o Mam
ae.
Como primeiro exemplo de programa em Fortran 90/95, considere o seguinte codigo-fonte:
program p r i m e i r o
i m p l i c i t none
print * , Alo Mam
ae
end program p r i m e i r o
A forma mais simples de um programa em Fortran 90/95 e a seguinte:
PROGRAM <nome_do_programa>
<declara
c~
oes de vari
aveis>
<comandos execut
aveis>
END PROGRAM <nome_do_programa>
Comparando com o exemplo do programa primeiro, a declaracao
PROGRAM primeiro
e sempre a primeira instruc
ao de um programa. Ela serve para identificar o codigo ao compilador.
Em seguida vem as declara
c~
oes de vari
aveis. Neste ponto, sao definidas as variaveis a ser usadas pelo
programa. Caso nao seja necess
ario declarar variaveis, como no programa primeiro, e recomendavel2 incluir,
pelo menos, a instruc
ao implicit none. Esta instrui o compilador a exigir que todas as variaveis usadas pelo
programa tenham o seu tipo explicitamente definido.
Apos declaradas as vari
aveis, vem os comandos execut
aveis. No caso do programa primeiro, o u
nico
comando executavel empregado foi
print *, Al^
o Mam~
ae
o qual tem como conseq
uencia a impress
ao do texto Alo Mam
ae na tela do monitor, o qual e a chamada sada
padr
ao.
Finalmente, o programa e encerrado com a instrucao
end program primeiro
Os recursos utilizados no programa primeiro ser
ao explicados com mais detalhes neste e nos proximos captulos
da apostila.
2 Para

o compilador empregado neste curso,


e obrigat
orio.

Autor: Rudi Gaelzer IFM/UFPel

Impresso: 24 de fevereiro de 2009

Captulo 2. Formato do C
odigo-Fonte

2.2

11

Nomes em Fortran 90/95

Um programa em Fortran 90/95 faz referencia a muitas entidades distintas, tais como programas, subprogramas, modulos, vari
aveis, etc. Os nomes destas entidades devem consistir em caracteres alfanumericos, de 1
a 31 caracteres. Os caracteres alfanumericos validos sao:
Letras (a - z; A - Z).
Numerais (0 - 9).
O caractere underscore .

Au
nica restric
ao e que o primeiro caractere seja uma letra. Os seguintes exemplos sao validos:
A
A_COISA
X1
MASSA
Q123
TEMPO_DE_VOO
ja estes exemplos n
ao s
ao v
alidos:
1A (comeca com numeral)
A COISA (espaco em branco)
$SINAL (contem caractere n
ao alfanumerico).

2.3

Entrada e sada padr


oes

O Fortran 90 possui tres comandos de entrada/sada de dados. A maneira mais direta de definir valores de
variaveis ou de exibir os valores destas e atraves dos dispositivos de entrada/sada padroes.
O dispositivo padr
ao de entrada de dados e o teclado. O comando de leitura para o programa ler os valores
das variaveis e:
READ *, <lista de vari
aveis>
READ(*,*) <lista de vari
aveis>
onde lista de vari
aveis s
ao as vari
aveis que deverao receber seus valores via teclado. O usuario deve entrar
com os valores das vari
aveis separando-as por vrgulas.
O dispositivo padr
ao de sada de dados e a tela do monitor. Ha dois comandos de sada padrao de dados:
PRINT *, [<mensagem>[,]][<lista de vari
aveis>]
WRITE(*,*) [<mensagem>[,]][<lista de vari
aveis>]
O programa a seguir instrui o computador a ler o valor de uma variavel real a partir do teclado e, entao,
imprimir o valor desta na tela do monitor:
program l e v a l o r
i m p l i c i t none
real : : a
print * , I n f o r m e o v a l o r de a :
read * , a
print * , Valor l i d o : , a
end program l e v a l o r
No programa acima, foi declarada a vari
avel real a, cujo valor sera lido pelo computador, a partir do teclado,
importante salientar que a instrucao implicit none deve ser sempre
e entao impresso na tela do monitor. E
a segunda linha de um programa, sub-programa ou modulo, aparecendo antes do restante das declaracoes de
variaveis.
Esta secao apresentou somente um uso muito simples dos recursos de Entrada/Sada de dados. Uma descricao
mais completa destes recursos ser
a realizada no captulo 9 na pagina 123.
Autor: Rudi Gaelzer IFM/UFPel

Impresso: 24 de fevereiro de 2009

12

2.4. Conjunto de caracteres aceitos


Tabela 2.1: Caracteres especiais do Fortran 90/95

Caractere
=
+
*
/
(
)
,
.
$
:

2.4

Nome/Fun
c
ao
Igual
Soma
Subtrac
ao
Multiplicac
ao
Divis
ao
Parenteses esquerdo
Parenteses direito
Vrgula
Ponto decimal
Cifr
ao
Dois pontos

Caractere
!

%
&
;
?
**

<
>

Nome/Fun
c
ao
Espaco em branco
Exclamacao
Aspas
Porcentagem
E comercial (ampersand)
Ponto e vrgula
Ponto de interrogacao
Potencia
Apostrofe
Menor que
Maior que

Conjunto de caracteres aceitos

No Fortran 90/95, os elementos b


asicos, denominados de tokens, sao os caracteres alfanumericos, os 10 dgitos
arabicos, o underscore e o conjunto de caracteres especiais apresentados na tabela 2.1. Dentro da sintaxe da
linguagem, nao existem diferencas entre letras mai
usculas e min
usculas.

Autor: Rudi Gaelzer IFM/UFPel

Impresso: 24 de fevereiro de 2009