programação em fortran - itavares/ensino/cfac/downloads... · @2001 - joão tavares cfac:...

Post on 24-Jul-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Programação emFORTRAN - I

João Manuel R. S. Tavares

@2001 - João Tavares CFAC: Programação em FORTRAN - I 2

BibliografiaFORTRAN ANSI 77 e WATFIV-SJorge Filho, Caetano LoiolaEditora Campus

Linguagem de Programação Estruturada FORTRAN 77Maximilian Emil HehlMcGraw-Hill

FORTRAN77 for Engineers and ScientistsLarry Nyhoff, Leestma SanfordPrentice Hall, 1996

@2001 - João Tavares CFAC: Programação em FORTRAN - I 3

Linguagens de Programação

Permitem a implementação de programas próprios e à medida.Sem necessitar do conhecimento do funcionamento dos computadores.Código máquina versus Linguagens de alto nível.Fortran: FORmula TRANslation.Outras Linguagens:

• Basic;• C/C++/C#;• Pascal.

@2001 - João Tavares CFAC: Programação em FORTRAN - I 4

Ciclo de Programação1) Análise da tarefa.2) Planificação do programa: realizar uma

abordagem estruturada, utilizar diagramas de fluxo e/ou pseudocódigo.

3) Edição do código fonte.4) Compilação e “linkagem” do programa.5) Execução e depuração (“debug”) do

programa.6) Se necessário edição e recompilação.7) Teste exaustivo do programa.8) Documentação.

@2001 - João Tavares CFAC: Programação em FORTRAN - I 5

Compilação em MS DOS1) Editar o(s) ficheiro(s) fonte num qualquer

editor de texto (sem caracteres especiais de formatação) e grava-lo(s) com nome formado no máximo por 8 caracteres e com extensão .FOR.

2) Compilar o(s) programa(s) fonte: F7 nome(i)e corrigir os eventuais erros sintácticos.

3) Juntar todos os ficheiros que constituem o programa: FL nome1, nome2, ...

4) Executar o programa: nome1.

@2001 - João Tavares CFAC: Programação em FORTRAN - I 6

Estrutura de um programa simples em FORTRAN

Nome do programa.Declaração de variáveis e estruturas.Atribuição de valores a variáveis.Processamento dos dados.Escrita dos resultados.Fim do programa.

@2001 - João Tavares CFAC: Programação em FORTRAN - I 7

Fluxo de um programa

Sequência linear.Um comando por linha.Posição na linha: Muito importante!Comentários são ignorados.Selecção: Instruções condicionais.Repetição: Instruções de ciclo.Termina sempre com uma declaração END.

@2001 - João Tavares CFAC: Programação em FORTRAN - I 8

Posição na linha

O esquema de um programa em FORTRAN data dos cartões perfurados de 80 colunas, que eram utilizados para a entrada de dados.

1 2-5 6 7-72 73-80Total=x_valor+y_valor

& +z_valorC Linha de comentário.9 9999 FORMAT('Resposta =',I4)

Nº da coluna

InstruçãoContinuaçãoComentárioEtiqueta

@2001 - João Tavares CFAC: Programação em FORTRAN - I 9

Exemplo de formulário para codificação em FORTRAN

Continuação

Etiqueta

Instruções

@2001 - João Tavares CFAC: Programação em FORTRAN - I 10

Declaração de variáveisNomes de variáveis:

Devem ter no mínimo o comprimento de um caracter alfabético e o máximo de 31 caracteres alfanuméricos.Deve começar com um caracter alfabético. (Insensível a maiúsculas/minúsculas.)Caracteres alfanuméricos são: a-z, 0-9 e o “underscore” ( _ ).Variáveis implícitas: Primeira letra de [I, N] implica que as variáveis são do tipo inteiro!

@2001 - João Tavares CFAC: Programação em FORTRAN - I 11

Exemplos

Nomes válidos:• X• THEDAY• Min_cur• Time28

Nomes inválidos:• X*Z• THE TIME• 7YEARS• _no_way$

@2001 - João Tavares CFAC: Programação em FORTRAN - I 12

Tipos básicos de dadosREAL (real) x = 5.0INTEGER (inteiro) i = 20COMPLEX (complexo) z = (1.4,3.2)LOGICAL (lógico) test = .TRUE.CHARACTER (caracter) char = 'Hello'

Tipos de dados mais avançados podem ser construídos a partir destes tipos básicos.

@2001 - João Tavares CFAC: Programação em FORTRAN - I 13

Declarações

<tipo> <variável> [,< variável(eis)>]

Exemplos:

REAL xREAL radius, volumeINTEGER loop, tempCHARACTER string*10, name*30

([ ] indicamopcional)

(Com comprimento máximo de 10 caracteres.)

@2001 - João Tavares CFAC: Programação em FORTRAN - I 14

ParâmetrosParâmetros são constantes, os seus valores, uma vez definidos, não podem ser alterados.

Exemplos:

REAL g, piINTEGER days

PARAMETER (g = 9.81, pi = 3.142)PARAMETER (days = 365)

@2001 - João Tavares CFAC: Programação em FORTRAN - I 15

Atribuições<variável> = <valor> | <variável> | <expressão>

Exemplos:

radius = 2.5y = ztest = value+loop-tempvolume = (4.0*pi*radius**3.0)/3.0

(| significa “ou”)

@2001 - João Tavares CFAC: Programação em FORTRAN - I 16

Procedências

Regra de procedência nas expressões (de menor para maior):

+, - (adição, subtracção)*, / (multiplicação, divisão)** (potenciação)

No caso de igualdade, a prioridade é da expressão mais àesquerda; a ordem de procedência pode ser alterada pela utilização de ( ).

@2001 - João Tavares CFAC: Programação em FORTRAN - I 17

Estruturas de controlo

Construtores básicos de blocos de programa.Controlam o fluxo do programa.

Existem 3 tipos diferentes:

de sequência linear (salto, retorno);de selecção;de iteração ou ciclo.

@2001 - João Tavares CFAC: Programação em FORTRAN - I 18

Outras Instruções

PROGRAM [ nome do programa ]END

C ou * Um comentário (na 1ª col.).

PRINT *, 'Hello'PRINT *, 'Value of X = ', x(* - Saída em formato livre.)

(Identificação do programa.)

(Fim do programa.)

(Escrita)

(Comentário)

@2001 - João Tavares CFAC: Programação em FORTRAN - I 19

Entrada de dados

Os programas são inúteis sem dados!Utilização da instrução READ para a entrada de dados.Deve-se realizar a identificação dos valores de entrada!

Exemplo:

PRINT *, 'Enter values for x & y :'READ *, x, y

@2001 - João Tavares CFAC: Programação em FORTRAN - I 20

Entrada de caracteres

A instrução READ “normal” não pode ser utilizada para a entrada de variáveis do tipo caracter. Para tal deve-se proceder do seguinte modo:

PRINT *, 'Continue (y/n) : 'READ '(A1)', yes_or_no

'(A<n>)' – <n> é o número de caracteres.

(* significa formato livre.)

@2001 - João Tavares CFAC: Programação em FORTRAN - I 21

Boa prática de programação

Comentar o programa!Palavras chave do FORTRAN em maiúsculas.Variáveis em minúsculas.Utilizar nomes sugestivos para as varáveis.Utilização de espaços e de indentação(“tabs”) no código para facilitar a sua leitura.

@2001 - João Tavares CFAC: Programação em FORTRAN - I 22

Esquema geral de um programa

PROGRAM [ nome do programa ][ comentários ][ instruções de declaração ][ instruções executáveis ]STOP

END

(Pode não existir)

top related