Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
FEUP/DEMEGI-SDI
Programao em FORTRAN - I
Joo Manuel R. S. Tavares
Bibliografia
FORTRAN ANSI 77 e WATFIV-S Jorge Filho, Caetano Loiola Editora Campus Linguagem de Programao Estruturada FORTRAN 77 Maximilian Emil Hehl McGraw-Hill FORTRAN77 for Engineers and Scientists Larry Nyhoff, Leestma Sanford Prentice Hall, 1996
@2001 - Joo Tavares CFAC: Programao em FORTRAN - I 2
FEUP/DEMEGI-SDI
Linguagens de Programao
Permitem a implementao de programas prprios e medida. Sem necessitar do conhecimento do funcionamento dos computadores. Cdigo mquina versus Linguagens de alto nvel. Fortran: FORmula TRANslation. Outras Linguagens:
Basic; C/C++/C#; Pascal.
@2001 - Joo Tavares CFAC: Programao em FORTRAN - I 3
Ciclo de Programao
1) 2)
3) 4) 5) 6) 7) 8)
@2001 - Joo Tavares
Anlise da tarefa. Planificao do programa: realizar uma abordagem estruturada, utilizar diagramas de fluxo e/ou pseudocdigo. Edio do cdigo fonte. Compilao e linkagem do programa. Execuo e depurao (debug) do programa. Se necessrio edio e recompilao. Teste exaustivo do programa. Documentao.
CFAC: Programao em FORTRAN - I 4
FEUP/DEMEGI-SDI
Compilao em MS DOS
1) Editar o(s) ficheiro(s) fonte num qualquer editor de texto (sem caracteres especiais de formatao) e grava-lo(s) com nome formado no mximo por 8 caracteres e com extenso .FOR. 2) Compilar o(s) programa(s) fonte: F7 nome(i) e corrigir os eventuais erros sintcticos. 3) Juntar todos os ficheiros que constituem o programa: FL nome1, nome2, ... 4) Executar o programa: nome1.
@2001 - Joo Tavares CFAC: Programao em FORTRAN - I 5
FEUP/DEMEGI-SDI
Fluxo de um programa
Sequncia linear. Um comando por linha. Posio na linha: Muito importante! Comentrios so ignorados. Seleco: Instrues condicionais. Repetio: Instrues de ciclo. Termina sempre com uma declarao END.
@2001 - Joo Tavares CFAC: Programao em FORTRAN - I 7
Posio na linha
O esquema de um programa em FORTRAN data dos cartes perfurados de 80 colunas, que eram utilizados para a entrada de dados.
N da coluna Instruo Continuao Comentrio Etiqueta
@2001 - Joo Tavares
1 2-5
73-80
FEUP/DEMEGI-SDI
Declarao de variveis
Nomes de variveis:
Devem ter no mnimo o comprimento de um caracter alfabtico e o mximo de 31 caracteres alfanumricos. Deve comear com um caracter alfabtico. (Insensvel a maisculas/minsculas.) Caracteres alfanumricos so: a-z, 0-9 e o underscore ( _ ). Variveis implcitas: Primeira letra de [I, N] implica que as variveis so do tipo inteiro!
10
FEUP/DEMEGI-SDI
Exemplos
Nomes vlidos:
X THEDAY Min_cur Time28
Nomes invlidos:
@2001 - Joo Tavares
Tipos de dados mais avanados podem ser construdos a partir destes tipos bsicos.
12
FEUP/DEMEGI-SDI
Declaraes
<tipo> <varivel> [,< varivel(eis)>] Exemplos:
([ ] indicam opcional)
REAL x REAL radius, volume INTEGER loop, temp CHARACTER string*10, name*30
CFAC: Programao em FORTRAN - I 13
Parmetros
Parmetros so constantes, os seus valores, uma vez definidos, no podem ser alterados. Exemplos: REAL g, pi INTEGER days PARAMETER (g = 9.81, pi = 3.142) PARAMETER (days = 365)
@2001 - Joo Tavares CFAC: Programao em FORTRAN - I 14
FEUP/DEMEGI-SDI
Atribuies
<varivel> = <valor> | <varivel> | <expresso> (| significa ou) Exemplos:
Procedncias
Regra de procedncia nas expresses (de menor para maior):
+, *, / ** (adio, subtraco) (multiplicao, diviso) (potenciao)
No caso de igualdade, a prioridade da expresso mais esquerda; a ordem de procedncia pode ser alterada pela utilizao de ( ).
@2001 - Joo Tavares CFAC: Programao em FORTRAN - I 16
FEUP/DEMEGI-SDI
Estruturas de controlo
Construtores bsicos de blocos de programa. Controlam o fluxo do programa. Existem 3 tipos diferentes:
de sequncia linear (salto, retorno); de seleco; de iterao ou ciclo.
@2001 - Joo Tavares CFAC: Programao em FORTRAN - I 17
Outras Instrues
(Identificao do programa.) (Fim do programa.) (Comentrio) (Escrita)
FEUP/DEMEGI-SDI
Entrada de dados
Os programas so inteis sem dados! Utilizao da instruo READ para a entrada de dados. Deve-se realizar a identificao dos valores de entrada! Exemplo:
PRINT *, 'Enter values for x & y :' READ *, x, y
@2001 - Joo Tavares CFAC: Programao em FORTRAN - I 19
Entrada de caracteres
A instruo READ normal no pode ser utilizada para a entrada de variveis do tipo caracter. Para tal deve-se proceder do seguinte modo:
(* significa formato livre.)
20
10
FEUP/DEMEGI-SDI
21
(Pode no existir)
22
11