70

Fundamentos de algoritmos e programação - Fortran

Embed Size (px)

DESCRIPTION

Algoritmos e Programação

Citation preview

Page 1: Fundamentos de algoritmos e programação - Fortran
Page 2: Fundamentos de algoritmos e programação - Fortran

A linguagem FORTRAN, a primeira linguagem de

programação de alto nível (surgiu em 1956), foi proposta

e implementada para auxiliar os programadores na

codificação de problemas técnicos e científicos cuja

solução requer a utilização de computadores eletrônicos.

O FORTRAN é uma das linguagens mais popular e

difundida no meio técnico e científico

Page 3: Fundamentos de algoritmos e programação - Fortran
Page 4: Fundamentos de algoritmos e programação - Fortran

O comando INTEGER é usado para declarar,explicitamente, um nome de variável,conjunto de variáveis, constante simbólica,como sendo do tipo inteiro.

Obs.: Ver Exs

Page 5: Fundamentos de algoritmos e programação - Fortran

O comando REAL é usado para declarar,explicitamente, um nome de variável,conjunto de variáveis, constante simbólicacomo sendo do tipo realObs.: Ver Exs

Page 6: Fundamentos de algoritmos e programação - Fortran

O comando CHARACTER é usado paradeclarar, explicitamente, um nome devariável, conjunto de variáveis, constantesimbólica, como sendo do tipo alfa-numéricaObs.: Ao declara uma variável do tipoCharacter deve ser indicado o númeromáximo de caracteres que a variável podeconter, esse numero de ser inteiro e positivo.Obs.: Ver Exs

Page 7: Fundamentos de algoritmos e programação - Fortran

O comando LOGICAL é usado para declarar,explicitamente, um nome de variável,conjunto de variáveis, como sendo do tipológica. As variáveis lógicas devem ser .TRUE.(verdadeiro) ou .FALSE. (falso).

Obs.: Ver Exs

Page 8: Fundamentos de algoritmos e programação - Fortran

Algoritmo 1 - principal

Inteiro A, B

real X, Y

Caractere nome

lógica W

fim

Page 9: Fundamentos de algoritmos e programação - Fortran

Obs.: (1) Note que o programa principal deve ter um nome, neste caso, “principal”.

(2) O comando implicit nonedetermina que todas as variáveis usadas no programa seja declaradas. Prevenindo assim, que o programa use uma variável aleatória.

(3) O “ *8” determina um número real em dupla precisão. Assim suporta valores entre 1.0 x 10^-300 até 1.0 x 10^300

Page 10: Fundamentos de algoritmos e programação - Fortran
Page 11: Fundamentos de algoritmos e programação - Fortran
Page 12: Fundamentos de algoritmos e programação - Fortran

Operador Definição Uso do Operador Significado

** Potenciação a**b a elevado a potência b

* Multiplicação a*b a multiplicado por b

/ Divisão a/b a dividido por b

+ Adição a+b a mais b

+ Mais unitário +a o mesmo que a

- Subtração a-b a menos b

- Menos unitário -a a com sinal trocado

Tabela 01

Page 13: Fundamentos de algoritmos e programação - Fortran

Algoritmo

Algoritmo

B=B^2

A=B x 20

B= B /A

A= A+2

B=+B

A=5-B

B=-A

fim

Page 14: Fundamentos de algoritmos e programação - Fortran

Obs.: (1) O caractere “!” é utilizado para adicionar um comentário no algoritmo. Todo texto escrito após ele não ira interferir no desenvolvimento do programa.

Page 15: Fundamentos de algoritmos e programação - Fortran
Page 16: Fundamentos de algoritmos e programação - Fortran

Operador Definição Uso do Operador Significado

// Concatenação a//b a encadeado com b

Tabela 02

Page 17: Fundamentos de algoritmos e programação - Fortran

Como resultado deste comando irá aparecer na tela:

Page 18: Fundamentos de algoritmos e programação - Fortran
Page 19: Fundamentos de algoritmos e programação - Fortran

Operador Definição Uso do Operador Significado

.EQ. ou == Igual a a.EQ.b ou a==b a = b ?

.NE. ou /= Diferente de a.NE.b ou a/=b a ≠b ?

.LT. ou < Menor que a.LT.b ou a<b a < b ?

.LE. ou <= Menor ou igual a.LE.b ou a<=b a ≤b ?

.GT. ou > Maior que a.GT.b ou a>b a > b ?

.GE. ou >= Maior ou igual a.GE.b ou a>=b a ≥ b ?Tabela 03

Page 20: Fundamentos de algoritmos e programação - Fortran

Obs.: (1) Os comandos “.LT.” e “.GE.” pode ser substituídos por qualquer outro da tabela 03, caso seja do interesse do programador.

Page 21: Fundamentos de algoritmos e programação - Fortran
Page 22: Fundamentos de algoritmos e programação - Fortran

Operador Definição Uso do Operador Significado

.NOT. Negação Lógica .NOT.a Complemento de a: se a

é verdade, então .NOT.a

é falso, se a é falso

então .NOT.a. é

verdade.

.AND. Conjunção lógica a.AND.b Produto Booleano de a

por b: se a e b são

verdade, então a.AND.b

é verdade; se a ou b ou

ambos são falsos, então

a.AND.b é falso.

Page 23: Fundamentos de algoritmos e programação - Fortran

.OR. Disjunção Inclusivo lógica

a.OR.b Soma Booleana de a com b: se a ou b ou ambos são verdade,

então a.OR.b é verdade; se a e b são falsos,

então a.OR.b é falso..EQV. Equivalência Lógica a.EQV.b Equivalência lógica de a

com b: se a e b são ambos verdade ou

ambos falsos, então a.EQV.b é verdade, caso

contrário é falso..NEQV. Não equivalência lógica a.NEQV.b Não equivalência lógica

de a com b: se a e b são ambos verdade ou

ambos falsos, então a.EQV.b é falso, caso contrário é verdade.

Continuação

Tabela 04

Page 24: Fundamentos de algoritmos e programação - Fortran
Page 25: Fundamentos de algoritmos e programação - Fortran

O comando PRINT é usado para transferir dados para o vídeo. Casualmente entendido como uma impressão, de determinado dado, no monitor.

Page 26: Fundamentos de algoritmos e programação - Fortran

Algoritmo

Imprima ‘Teste de Impressão’

Fim

Page 27: Fundamentos de algoritmos e programação - Fortran

Obs.: (1) Note que o texto escrito entre aspas simples aparecerá inalterado quando impresso no monitor.

Como resultado deste comando irá aparecer na tela:

Page 28: Fundamentos de algoritmos e programação - Fortran
Page 29: Fundamentos de algoritmos e programação - Fortran

O comando WRITE é usado para transferir dados para arquivos externos e internos.Sintaxe:

▪ WRITE ( unit, fmt ) lista de variáveis

Unit Número que identifica o dispositivo de saída (ARQUIVO,IMPRESSORA, VÍDEO), o dispositivo padrão é o vídeo eidentificado pelo símbolo *.

Fmt Pode ser um número (LABEL) associado ao formato de saída dosdados ou pode ser utilizado para especificar diretamente oformato da variável a ser transferida, a qual deve ser escritautilizando os seguintes delimitadores: '(tipo do formato)'. Pode-se omitir a especificação do formato (utiliza-se o dispositivopadrão), para isto é necessário utilizar o símbolo *.

Page 30: Fundamentos de algoritmos e programação - Fortran

Algoritmo

Write ‘Teste de Impressão’

Fim

Page 31: Fundamentos de algoritmos e programação - Fortran
Page 32: Fundamentos de algoritmos e programação - Fortran
Page 33: Fundamentos de algoritmos e programação - Fortran

O comando READ é usado para adquirir dados de um arquivo ou teclado.

Page 34: Fundamentos de algoritmos e programação - Fortran

Algoritmo

Leia X

Fim

Page 35: Fundamentos de algoritmos e programação - Fortran

Obs.: (1) É usual a utilização de um pequeno texto indicando que variável o usuário deve entrar com os dados.

Page 36: Fundamentos de algoritmos e programação - Fortran
Page 37: Fundamentos de algoritmos e programação - Fortran

As operações com arquivos no Fortran, em geral, são simples,

necessitando da abertura do arquivo, gravação ou leitura dos dados e

o fechamento do arquivo.

Quando trabalhando com arquivos, deve-se ter em mente que o

tempo de leitura e gravação em arquivos é uma operação

relativamente lenta se comparada com as operações matemáticas.

Portanto se um arquivo deve ser lido várias vezes durante a execução

do programa, uma boa idéia é ler todo o arquivo de uma só vez,

armazenando os dados em variáveis.

Page 38: Fundamentos de algoritmos e programação - Fortran

Arquivos são abertos usando o comando OPEN que tem forma:

OPEN (<unit>, FILE = <arquivo>)

<unit> unidade de referência para o arquivo,pode ser qualquer número inteiro<arquivo> nome do arquivo a ser criado ou aberto. O nome do arquivo deve vir entre aspas.

Page 39: Fundamentos de algoritmos e programação - Fortran

Para escrever dados no arquivo deve-se usar o comando WRITE usando a unidade do arquivo:WRITE (<unit> , <formato>) <variáveis>

Para ler o arquivo de dados deve-se usar o comando READ, também usando a unidade do arquivo:READ (<unit> , <formato>) <variáveis>

Page 40: Fundamentos de algoritmos e programação - Fortran

Antes do programa acabar deve-se fechar o arquivo de dados usando o comando CLOSE:

CLOSE (<unit>)

Estes tipos de arquivo usados pelo Fortran são arquivos texto simples e podem ser editados em qualquer editor de texto (desde que gravados no formato texto). Em geral se opta pela extensão .TXT ou .DAT para os arquivos de dados.

Page 41: Fundamentos de algoritmos e programação - Fortran

O arquivo .txtutilizado nesse exemplo é:

Page 42: Fundamentos de algoritmos e programação - Fortran

Obs.: Nesse exemplo atribuímos uma variável (entrada) à “Unit”. Note que essa variável passou a ser nossa unidade de referencia.

Page 43: Fundamentos de algoritmos e programação - Fortran
Page 44: Fundamentos de algoritmos e programação - Fortran

O comando IF (Se) transfere o controle de fluxo ou

executam outro comando (ou um bloco de comandos)

dependendo da condição dada como resultado de uma

expressão contida no particular comando IF. O comando IF ,

executa condicionalmente, blocos ou grupos de comandos

executáveis.

Page 45: Fundamentos de algoritmos e programação - Fortran

Se a expressão lógica (e1) for verdadeira o bloco1 é executado.

Se a expressão lógica (e1) for falsa, então o bloco3 é executado.

Algoritmo

Se (e1) então

Bloco (1)

senão

Bloco (3)

fim se

Fim

Page 46: Fundamentos de algoritmos e programação - Fortran

Obs.: (1) Nesse caso, se “A”<“C”, então soma-se “1” em “A”.(2) E se “A”≥ “C”, então subtrai-se “1” de “A”.

Page 47: Fundamentos de algoritmos e programação - Fortran
Page 48: Fundamentos de algoritmos e programação - Fortran

O comando DO é um comando de controleque permite que uma seqüência decomandos seja repetitivamente executadaenquanto o valor da variável de controleestiver entre os limites especificados.

Page 49: Fundamentos de algoritmos e programação - Fortran

Algoritmo

faça i=1, até 10, variando em 1

leia x

Fim faça

Fim

Inicialmente a variável “i” ,chamada de contador, recebe o valor “1”, e gradativamente soma-se “1” ao seu valor até atingir “10” . Todos os comando dentro deste algoritmo se repetirá até “i” atingir “10”, por isso é chamado de “laço de repetição”.

Page 50: Fundamentos de algoritmos e programação - Fortran

Obs.: (1) No laço de repetição usa-se uma variável contador do tipo inteiro que determina o número de repetições.

•Este artifício é muito utilizado ao se trabalhar com vetores e matrizes.

Page 51: Fundamentos de algoritmos e programação - Fortran
Page 52: Fundamentos de algoritmos e programação - Fortran

O comando DO WHILE é um comando decontrole que permite que uma seqüência decomandos seja repetitivamente executadaenquanto a expressão lógica permanecerverdadeira .

Page 53: Fundamentos de algoritmos e programação - Fortran

algoritmo

i=0

Faça enquanto (i=10)

i=i+1

Fim faça

Fim

Enquanto “i” for diferente de “10”, todos os comandos dentro desse algoritmo se repetirá.

Page 54: Fundamentos de algoritmos e programação - Fortran

Obs.: Inicialmente a variável “i” recebe valor “0”, a medida que passamos por esse laço adiciona-se “1” à “i” até que a condição não seja verdadeira, nesse caso, “i” ≠ ”10”.

Page 55: Fundamentos de algoritmos e programação - Fortran
Page 56: Fundamentos de algoritmos e programação - Fortran

O comando executável STOP termina a execução do programa, pode exibir uma informação no vídeo.

Page 57: Fundamentos de algoritmos e programação - Fortran

Algoritmo

Pare [Fim do Programa]

Fim

Embora o comando stop termine a execução do programa, ele pode ser dispensado.

Page 58: Fundamentos de algoritmos e programação - Fortran

Nesse caso teremos na tela a seguinte mensagem:

Page 59: Fundamentos de algoritmos e programação - Fortran

O comando END indica o final físico de uma unidade de programa para o compilador. Um programa na linguagem FORTRAN tem dois pontos terminais. O primeiro é um ponto terminal lógico, indicando o fim da execução do programa. Esse terminal lógico é indicado pelo comando STOP. O segundo ponto terminal é o ponto terminal físico, indicando o fim do processo de compilação. Esse ponto terminal físico é indicado pelo comando END, que deve ser o último comando numa unidade de programa FORTRAN.A forma geral do comando END é:

END

Cada unidade de programa (isto é, um programa principal, um subprograma FUNCTION, um subprograma SUBROUTINE) deve conter um e somente um comando END.

Page 60: Fundamentos de algoritmos e programação - Fortran

A declaração de vetores e matrizes em FORTRAN é semelhante à declaração de uma variável qualquer, com a diferença que logo após a declaração da variável, é acrescentada a dimensão entre parênteses, indicando o tamanho que este deve ter. Para acessar o conteúdo do vetor, utiliza-se o índice do conteúdo procurado.

Page 61: Fundamentos de algoritmos e programação - Fortran

Algoritmo

Inteiro A(100)

real X(20,20)

Caractere nome (10)

fim

A variável “A” é um vetor com 100 posições, com valores do tipo inteiro.A variável “X” é uma matriz 20x20, com valores do tipo realA variável “nome” é um vetor com 10 posições, com valores do tipo caractere.

Page 62: Fundamentos de algoritmos e programação - Fortran

Obs.:(1) Note que a variável “C” tem dimensão “10”, indicando um vetor.

(2) Por sua vez, a variável “Z” tem duas dimensões, o que caracteriza uma matriz, neste caso 10x10.

Page 63: Fundamentos de algoritmos e programação - Fortran
Page 64: Fundamentos de algoritmos e programação - Fortran

forma individual

A(2) = 10 atribui o valor 10 ao campo 2

por faixa

A(2:5) = 10 atribui o valor 10 aos campos 2 até 5, ou seja,

A(2) = A(3) = A(4) = A(5) = 10

B(1:3,3:4) = 10 atribui o valor 10 aos campos

B(1,3) B(2,3) B(3,3)

B(1,4) B(2,4) B(3,4)

total

A = 10 atribui o valor 10 a todos os campos da variável A, ou seja,

A(1) = A(2) = ... = A(n) = 10

Page 65: Fundamentos de algoritmos e programação - Fortran
Page 66: Fundamentos de algoritmos e programação - Fortran

Obs.: (1) Utiliza-se um laço de repetição para percorrer todas a suposições do vetor, diminuindo assim o tamanho do algoritmo .

(2) No caso de uma matriz também utiliza-se esse artifício, lembrando que este possui duas dimensões, por isso deve-se utilizar dois laços de repetição.

Page 67: Fundamentos de algoritmos e programação - Fortran

Vetores e matrizes podem ser somados, subtraídos, multiplicados e divididos entre si, desde que sejam de mesmo tamanho:

Page 68: Fundamentos de algoritmos e programação - Fortran

Algoritmo

A(1)= B(7)+C(5)

X(10,1)=Y(1,7)-Z(4,5)

C(3)= B(2)*A(8)

Z(1,4)= X(9,5)/Y(6,8)

Fim

Page 69: Fundamentos de algoritmos e programação - Fortran
Page 70: Fundamentos de algoritmos e programação - Fortran

Obs.: (1) Um laço de repetição também pode ser utilizado para realizar operações percorrendo cada valor do vetor ou matriz.

(2) Note que um vetor pode ser impresso na tela utilizando um laço de repetição.