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

22
Programação em FORTRAN - I João Manuel R. S. Tavares

Upload: others

Post on 24-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

Programação emFORTRAN - I

João Manuel R. S. Tavares

Page 2: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

@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

Page 3: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

@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.

Page 4: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

@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.

Page 5: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificaçã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.

Page 6: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

@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.

Page 7: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

@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.

Page 8: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

@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

Page 9: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

@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

Page 10: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

@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!

Page 11: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

@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$

Page 12: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

@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.

Page 13: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

@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.)

Page 14: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

@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)

Page 15: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

@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”)

Page 16: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

@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 ( ).

Page 17: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

@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.

Page 18: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

@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)

Page 19: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

@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

Page 20: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

@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.)

Page 21: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

@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.

Page 22: Programação em FORTRAN - Itavares/ensino/CFAC/Downloads... · @2001 - João Tavares CFAC: Programação em FORTRAN - I 4 Ciclo de Programação 1) Análise da tarefa. 2) Planificação

@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)