86
Algoritmos e Algoritmos e Estruturas de Dados Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva [email protected] Universidade Federal Semi-Árido Departamento de Engenharia Ambiental Programação Aplicada a Engenharia

Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva [email protected] Universidade Federal Semi-Árido Departamento

Embed Size (px)

Citation preview

Page 1: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Algoritmos eAlgoritmos e

Estruturas de Dados Estruturas de Dados

Algoritmos Estruturados

Prof. José Patrocínio da [email protected]

Universidade Federal Semi-ÁridoDepartamento de Engenharia Ambiental

Programação Aplicada a Engenharia

Page 2: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

ALGORITMOS

– São formas de resolução de um problema, através da especificação passo-a-passo de como resolvê-lo.

A noção de algoritmo é básica em Computação.

Algoritmos

CONCEITOS BÁSICOSCONCEITOS BÁSICOS

Page 3: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Dar uma solução para um problema computacional significa elaborar um ALGORITMO em PSEUDO-

CÓDIGO (linguagem intermediária entre a linguagem natural e a linguagem de programação) e

implementá-lo numa linguagem de programação, gerando um PROGRAMA.

CONCEITOS BÁSICOSCONCEITOS BÁSICOS

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Page 4: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Segundo Knuth, um algoritmo é uma seqüência de passos bem definida que resolve determinado problema, através da transformação de dados iniciais na resposta desejada, tendo cinco importantes características:

Deve ser finito (finitness); Os passos devem ser bem definidos, sem

ambiguidades (definiteness); Deve ser eficaz (effectiveness); Deve possuir uma entrada (input); Deve produzir uma saída ou resultado (output).

Algoritmos

Page 5: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Resumindo, um algoritmo A resolve um problema P se, ao receber qualquer instância I de P, sempre produzir uma solução S para I.

– A – algoritmo.

– I – entrada (instância).

– S – saída (resultado).

II SSPara qualquer entrada I, o algoritmo deve ser executável em tempo finito e, além disso, gerar uma solução correta de P.

Algoritmos

Page 6: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

ESTRUTURA GERAL DE UM ALGORITMO

» Algoritmo (Nome-do-Algoritmo);

» Declaração de constantes, tipos e variáveis;

» Início

– Seqüências de Comandos;

» Fim.

Algoritmos

Page 7: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

ESTRUTURA GERAL DE UM ALGORITMO

» Algoritmo (Nome-do-Algoritmo);

» Declaração de constantes, tipos e variáveis;

» Início– Atribuições– Comandos de E/S– Estruturas de controle– Seleção– Repetição

» Fim.

Algoritmos

Page 8: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

ConstantesInformação que não sofre variação no decorrer do tempo.

Ex: 5, “Não Fume”, 2548, -0,62, “R$10,00”, Falso.

VariáveisInformação que tem a possibilidade de ser alterada em algum instante no decorrer do tempo.

Ex: Cotação do dólar, peso de uma pessoa, salário.

Algoritmos

Page 9: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Declaração de Variáveis e Constantes

– Alocar espaço de memória do tamanho do tipo-de-dado e dar um nome a este espaço;

– Ao longo do programa, usa-se o nome dado ao invés do valor.

CONST n=50;

VAR a, b, c, soma : TIPO;

Algoritmos

Page 10: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Declaração de Variáveis e Constantes

– Quando definir variáveis ?

» Quando um elemento da lógica para a resolução do problema sofrer alterações de valor ao longo desta resolução.

– Quando definir constantes ?

» Quando uma valor fixo for utilizado várias vezes na lógica para a resolução do problema.

Algoritmos

Page 11: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Tipos de Dados

PrimitivosINTEIRO

REALLÓGICOCARACTERESTRING

Definidos pelo programadorDISCIPLINA

FILAPILHA

Algoritmos

Page 12: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Expressões Aritméticas

– Aquelas cujos operadores são aritméticos e cujos operandos são constantes e/ou variáveis do tipo numérico (inteiro e/ou real).

Operadores Aritméticos

– + Adição * Multiplicação / Divisão

– - Subtração ** Potenciação // Radiciação

– mod ou % resto da divisão.

Algoritmos

Page 13: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Funções Matemáticas

– sen (x) - seno de x

– cos(x) - cosseno de x

– tg(x) - tangente de x

– abs (x) - valor absoluto (módulo) de x

– int (x) - parte inteira de um número real

Algoritmos

Page 14: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Prioridades

parênteses mais internos

funções matemáticas

** //

* /+ -

Algoritmos

Page 15: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Expressões Relacionais

– Comparação entre dois valores de um mesmo tipo primitivo. Estes valores podem ser constantes, variáveis ou expressões aritméticas.

– O resultado obtido de uma relação é sempre um valor lógico.

Operadores Relacionais

= igual a <> diferente de

> maior que >= maior igual a

< menor que <= menor igual a

Algoritmos

Page 16: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Expressões Lógicas

– Aquelas cujos operadores são lógicos e/ou relacionais e cujos operandos são relações e/ou variáveis e/ou constantes do tipo lógico.

Operadores Lógicos

e - Conjunção

ou - Disjunção (não-exclusiva)

xou - Disjunção (exclusiva)

não - negação

Algoritmos

Page 17: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Prioridades entre todos os Operadores

parênteses mais internos

funções aritméticas

operadores aritméticos

operadores relacionais

operadores lógicos

Algoritmos

Page 18: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

ESTRUTURA GERAL DE UM ALGORITMO

» Algoritmo (Nome-do-Algoritmo);

» Declaração de constantes, tipos e variáveis;

» Início– Atribuições– Comandos de E/S– Estruturas de controle– Seleção– Repetição

» Fim.

Algoritmos

Page 19: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Atribuição

Fornece um valor a uma variável.

Ex: a 1;

sexo “FEMININO”;

salário 128,00;

Algoritmos

Page 20: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

ESTRUTURA GERAL DE UM ALGORITMO

» Algoritmo (Nome-do-Algoritmo);

» Declaração de constantes, tipos e variáveis;

» Início– Atribuições– Comandos de E/S– Estruturas de controle– Seleção– Repetição

» Fim.

Algoritmos

Page 21: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Comandos de Entrada e Saída

Exemplos do comando de entrada leia:

leia (x);

leia (a, nota, faltas);

Exemplos do comando de saída escreva:

escreva (x);

escreva (a, nota, faltas);

escreva (‘Bom Dia ‘, nome);

escreva (‘Você pesa ‘, x * 2, ‘quilos.’);

Algoritmos

Page 22: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

ESTRUTURA GERAL DE UM ALGORITMO

» Algoritmo (Nome-do-Algoritmo);

» Declaração de constantes, tipos e variáveis;

» Início– Atribuições– Comandos de E/S– Estruturas de controle– Seleção– Repetição

» Fim.

Algoritmos

Page 23: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Estruturas de Controle de Fluxo

– Seqüência

– Seleção» simples

» composta

» encadeada

» múltipla escolha

– Repetição» Teste condicional no início

• Número de repetições conhecido

• Número de repetições desconhecido

» Teste condicional no fim

Algoritmos

Page 24: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Estruturas de Controle de Fluxo

– Seqüência

» início

» <comando 1>;

» <comando 2>;

» » <comando N>;

» fim

Algoritmos

Page 25: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Estruturas de Controle de Fluxo

– Seleção simplesinício

se <condição 1> então

<comando 1>;<comando 2>;<comando N>;

fim se

fim

Algoritmos

Page 26: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Estruturas de Controle de Fluxo

– Seleção compostainício

se <condição 1> então<comando 1>;

<comando 2>;<comando N>;

senão<comando 1>;

<comando 2>;<comando N>;

fim sefim

Algoritmos

BLOCO VERDADE

BLOCO FALSO

Page 27: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

– Seleção compostainício

se <condição 1> entãose <condição 2> então

<comando 1>;<comando N>;

fim sesenão

se <condição 3> então<comando 1>;

<comando N>;

senãose <condição 4> então

<comando 1>;<comando N>;

senão

<comando 1>;fim se<comando 1>;

fim sefim se

fim

Algoritmos

Page 28: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

– Seleção de múltipla escolha

inícioescolha (x)caso VALOR1 : <comando 1>;caso VALOR2 : <comando 2>;caso VALOR3 : <comando N>;fim escolha

fim

Algoritmos

Page 29: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

– Seleção de múltipla escolha

iníciose <x = VALOR1> então

<comando 1>;senão

se <x = VALOR2> então<comando 2>;

senãose <x = VALOR3> então

<comando 3>;fim se

fim sefim se

fim

Algoritmos

Page 30: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

– Repetição

Usada em trechos do algoritmo em que há a necessidade de se realizar um bloco de comando

um número determinado de vezes.

Algoritmos

Page 31: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Repetição com teste no início (ENQUANTO-FAÇA)

Permite executar diversas vezes um trecho do algoritmo, porém, sempre verificando antes de cada execução se é “permitido” executar algum trecho.

enquanto (<condição1>) faça<comando1>;<comando2>;<comandoN>;

fim enquanto

– Quando o resultado da <condição1> for falso, o comando é abandonado.– Se já da primeira vez o resultado for falso, os comandos não são executados nem

uma vez.

Algoritmos

Page 32: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Repetição com teste no FINAL (REPITA-ATÉ)

repita<comando1>;<comando2>;<comandoN>;

até (<condição1>)

– O bloco de comandos é executado pelo menos uma vez, independente da validade da <condição1>. Isto ocorre porque a inspeção da <condição1> é feita após a execução do bloco.

Algoritmos

Page 33: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Repetição com variável de controle (PARA)

– para (V = vi; V <= vf; passo p) faça

– <comando1>;

– <comando2>;

– – <comandoN>;

– fim para

Algoritmos

onde:• V é a variável de controle;• vi é o valor inicial de V;• vf é o valor final de V, ou seja, o

valor até o qual ela pode chegar e; • p é o valor do incremento dado a V.

Page 34: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Resolução de Problemas por ComputadorResolução de Problemas por Computador

Comparação entre as estruturas de Repetição

Toda estrutura ENQUANTO pode ser convertida para REPITA e vice-e-versa;

Toda estrutura PARA pode ser convertida em ENQUANTO, mas nem toda estrutura ENQUANTO pode ser convertida em PARA.

Estrutura Condição Qtde de execuções Cond. de existência

Enquanto início ? condição verdadeira

Repita fim mínimo 1 condição falsa

Para implícita início (vf - vi) div p vi vf

Algoritmos

Page 35: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

ALGUNS PROBLEMAS

Page 36: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

PROBLEMA DE ACHAR O MENOR

Encontrar o menor dentre um conjunto de números.

Page 37: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

PROBLEMA DE ACHAR O MENOR

ALGORITMO EncontraMenor;

VAR n, qtde-num, num, menor: INTEIRO;

INICIOLER (n);

LER (num);

menor num;

qtde-num 1;

ENQUANTO (qtde-num < n)

LER (num);

SE num < menor

menor num;

FIM-SE;

qtde-num qtde-num +1;

FIM-ENQUANTO;

ESCREVER (menor);FIM.

Page 38: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

PROBLEMA DE ACHAR O MENOR E O MAIOR

Encontrar o menor e o maior dentre um conjunto de

números.

Page 39: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

ALGORITMO EncontraMenorMaior;

VAR n, qtde-num, num, menor, maior: INTEIRO;

INICIOLER (n);LER (num);menor num;maior num;qtde-num 1;ENQUANTO (qtde-num < n)

LER (num);SE num < menor

menor num;SENAO SE num > maior

maior num;FIM-SE;qtde-num qtde-num +1;

FIM-ENQUANTO;ESCREVER (menor, maior);

FIM.

PROBLEMA DE ACHAR O MENOR E O MAIOR

Page 40: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

A descrição de um algoritmo de forma clara e fácil de ser seguida ajuda no seu desenvolvimento, depuração (correção de erros) e a subsequente transformação do mesmo num programa.

1- Descrição Narrativa: Especificação verbal dos passos em linguagem natural.

Desvantagens: a linguagem natural é imprecisa e freqüentemente pouco confiável como um veículo de transferir informação. Sua utilização pode ser adotada, entretanto, para a apresentação de comentários sobre o algoritmo (ou parte dele), esclarecendo ou realçando pontos específicos.

Descrição de Algoritmos

Page 41: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

2 - Fluxograma Uso de ilustrações gráficas para transmitir informações (Ex. Gerais: mapas, diagramas explicativo para montagem de aparelhos, etc.).

Um fluxograma mostra, de forma gráfica, a lógica de um

algoritmo, enfatizando passos individuais e o fluxo de execução.

Desvantagens: utilização questionável de fluxogramas detalhados, pois obscurecem a estrutura do programa.

Descrição de Algoritmos

Page 42: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Simbologia utilizada em fluxogramas

Page 43: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Exemplo

Page 44: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

PROBLEMA DO AZARÃO

Fazer um programa que escreva os 100 primeiros

múltiplos de 13.

Page 45: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

ALGORITMO Azarao;

CONST n = 100;

VAR num, cont: INTEIRO;

INICIOnum 13;

cont 1;

ENQUANTO cont < 100

ESCREVA (num);

num num +13;

cont cont +1;

FIM-ENQUANTO;FIM.

PROBLEMA DO AZARÃO

Page 46: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

ALGORITMO Azarao;

CONST n = 100;

VAR num, cont: INTEIRO;

INICIOnum 13;

cont 1;

REPITA

ESCREVA (num);

num num +13;

cont cont +1;

ATE cont > 100;FIM.

PROBLEMA DO AZARÃO

Page 47: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

PROBLEMA DO VÍCIO

Calcule e mostre a despesa diária, semanal e mensal de uma pessoa com cigarros,

dados o número de cigarros que ela fuma por dia e o preço do maço de cigarros que ela

fuma.

Page 48: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

ALGORITMO Vicio;

VAR num-c-dia : INTEIRO;

preco-m, preco-c,

despesa-d, despesa-s, despesa-m: REAL;

INICIOESCREVA (‘Quantos cigarros vc fuma por dia?’);LER (num-c-dia);ESCREVA (‘Quanto custa o maco de cigarros que vc fuma?’);LER (preco-m);

preco-c preco-m/20;

despesa-d preco-c * num-c-dia;

despesa-s despesa-d * 7;

despesa-m despesa-d * 30;

ESCREVA (‘Sua despesa com cigarros diária, semanal e mensal eh: ‘ despesa-d, despesa-s, despesa-m);

FIM.

PROBLEMA DO VÍCIO

Page 49: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

PROBLEMA DA CORRIDA DE AUTOMÓVEL

Em uma corrida de automóveis com n voltas, foram anotados os tempos, em ordem, de um

piloto em cada volta. Fazer um programa que dê o melhor e o

pior tempo e em que volta aconteceram.

Page 50: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

ALGORITMO CorridaAutomovel;

VAR num-voltas, cont-voltas, melhor-volta, pior-volta : INTEIRO;

tempo-volta, melhor-tempo, pior-tempo: REAL;

INICIOESCREVA (‘Entre com o numero total de voltas da corrida:’);LER (num-voltas);ESCREVA (‘Entre com o valor do primeiro tempo anotado:’);LER (tempo-volta);

melhor-tempo tempo-volta; pior-tempo tempo-volta;

melhor-volta pior-volta 1;

PARA cont-volta 2 a n

ESCREVA (‘Entre com o valor do tempo da próxima volta:’); LER (tempo-volta); SE tempo-volta > pior-tempo

pior-tempo tempo-volta; pior-volta cont-volta; SENAO SE tempo-volta < melhor-tempo

melhor-tempo tempo-volta; melhor-volta cont-volta;

FIM-SE;

FIM-PARA;

PROBLEMA DA CORRIDA DE AUTOMÓVEL

Page 51: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

ALGORITMO CorridaAutomovel;

VAR num-voltas, cont-voltas, melhor-volta, pior-volta : INTEIRO;

tempo-volta, melhor-tempo, pior-tempo: REAL;

INICIO...

ESCREVA (‘Melhor volta = ‘, melhor-volta, ‘ com tempo = ‘,melhor-tempo);

ESCREVA (‘Pior volta = ‘, pior-volta, ‘ com tempo = ‘,pior-tempo);

FIM.

PROBLEMA DA CORRIDA DE AUTOMÓVEL

Page 52: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

PROBLEMA DO FATORIAL DE UM NÚMERO

Calcule o fatorial de 5.

E para um n qualquer ?

Page 53: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

ENUNCIADO DO PROBLEMA: Calcular o fatorial de 5.

PARÂMETROS: n

RESTRIÇÕES: n Z+

SOLUÇÃO: result = n.(n-1).(n-2). ... .2.1

INSTÂNCIA: n=5

SOLUÇÃO_DA_INSTÂNCIA: result=5.4.3.2.1=120

PROBLEMA DO FATORIAL DE UM NÚMERO

Page 54: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

ALGORITMO Fatorial;

VAR fat, i : INTEIROS;INICIO

fat = 1;

PARA i := 2 a n FAÇA

fat := fat * i;

END;

MOSTRE fat;FIM.

PROBLEMA DO FATORIAL DE UM NÚMERO

Page 55: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

PROBLEMA SOBRE A SÉRIE DE FIBONACCI

Calcule o n-ésimo termos da série de Fibonacci.

Page 56: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

ENUNCIADO DO PROBLEMA: Mostrar o n-ésimo termo da Série de Fibonacci.

PARÂMETROS: n

RESTRIÇÕES: n Z+

SOLUÇÃO: result = n-ésimo termo

INSTÂNCIA: n=5

SOLUÇÃO_DA_INSTÂNCIA: result=3

PROBLEMA SOBRE A SÉRIE DE FIBONACCI

Page 57: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

ALGORITMO Fibonacci;

VAR i, fib,fib1,fib2,n : INTEIRO;INICIO

SE n = 1 RETURN 0; SENAO SE n = 2 RETURN 1;

fib1 := 1; fib2 := 0; PARA i := 3 a N FAÇA fib := fib1 + fib2; fib2 := fib1; fib1 := fib; FIM-PARA; MOSTRE fib; FIM.

PROBLEMA SOBRE A SÉRIE DE FIBONACCI

Page 58: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

ALGORITMO Fibonacci-v2;

VAR i, fib,fib1,fib2,n : INTEIRO;INICIO

SE n <= 2 RETURN n; fib1 := 1; fib2 := 0; PARA i := 3 a N FAÇA fib := fib1 + fib2; fib2 := fib1; fib1 := fib; FIM-PARA; MOSTRE fib; FIM.

PROBLEMA SOBRE A SÉRIE DE FIBONACCI

Page 59: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

PROBLEMA DOS APROVADOS

Dado um conjunto de n notas de alunos, contar o número de alunos que foram aprovados.

Considera-se aprovado o aluno que obteve nota igual ou maior

que 5.0.

Page 60: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Solução

Page 61: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

PROBLEMA DA AVALIAÇÃO

Fornecer a média aritmética simples das n notas de um

aluno, indicando também sua situação final (média>=9

excelente, média>=7 bom, média>=5 regular, média<5

insuficiente).

Page 62: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

PROBLEMA IV

Como medir exatamente 2 litros utilizando apenas

mangueira, um balde de 4 litros e outro de 3 litros?

Page 63: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

PROBLEMA IV

ENUNCIADO DO PROBLEMA: Como medir exatamente 2 litros utilizando apenas mangueira, um balde de 4 litros e outro de 3 litros.

PARÂMETROS: vasilhames A e B.

RESTRIÇÕES: capacidades máximas A=4l, B=3l:

0A 4 e 0 B 3

SOLUÇÃO: (A=2) ou (B=2)

INSTÂNCIA: A=0 e B=0

SOLUÇÃO_DA_INSTÂNCIA: (A=2) ou (B=2)

Page 64: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

PROBLEMA IV

ALGORITMO Medir2Litros;

CONST LimA=4;

LimB=3;

VAR A, B : INTEIROS;INICIO

LIMPAR A e B;

ENCHER B;

DESPEJAR_B_EM_A;

ENCHER B;

DESPEJAR_B_EM_A;

MOSTRAR B;FIM.

Page 65: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

PROBLEMA IV

ENCHER B

ENQUANTO (NÃO_CHEIO(B)) FAÇA

B = B+1;

FIM-ENQUANTO;

DESPEJAR_B_EM_A

ENQUANTO (NÃO_CHEIO(A)) OU (NÃO_VAZIO(B)) FAÇA

B = B - 1;

A = A + 1;

FIM-ENQUANTO;

Page 66: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

PROBLEMA IV

ENCHER B

ENQUANTO (B < LimB) FAÇA

B = B+1;

FIM-ENQUANTO;

DESPEJAR_B_EM_A

ENQUANTO (A < LimA) E (B > 0) FAÇA

B = B - 1;

A = A + 1;

FIM-ENQUANTO;

Page 67: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

PROBLEMA IV

LIMPAR A e B

A = 0;

B = 0;

MOSTRAR B

ESCREVER (B);

Page 68: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

PROBLEMA IV

ALGORITMO Medir2Litros;

CONST LimA=4;

LimB=3;

VAR A, B : INTEIROS;INICIO

LIMPAR A e B;

ENCHER B (B);

DESPEJAR_B_EM_A (B,A);

ENCHER_B(B);

DESPEJAR_B_EM_A (B,A);

MOSTRAR B;FIM.

Page 69: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

HistóricoHistóricoHistóricoHistórico

– Linguagem de programação estruturada

– 1º linguagem de programação de alto nível e foi proposta em 1956

– Surgiu visando a resolução de problemas da área científica, com o uso de computadores

– O nome é a composição de: FORmula TRANslation

– Sua versão mais recente é o FORTRAN 90.

Page 70: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Conceitos da LinguagemConceitos da Linguagem Conceitos da LinguagemConceitos da Linguagem

Basicamente há duas formas de se escrever um programa em FORTRAN:

– com formulário fixo (‘fixed form’) ou

– com formulário livre (‘free form’). O segundo (free form) disponível apenas para a

programação em FORTRAN 90. Novos compiladores aceitam os formatos e os

comando anteriores.

Page 71: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Conceitos da LinguagemConceitos da LinguagemFormataçãoFormatação

Conceitos da LinguagemConceitos da LinguagemFormataçãoFormatação

Formatação no Formulário Fixo

1.1. Coluna 1, C ou * indicam Coluna 1, C ou * indicam comentário – comentários são comentário – comentários são ignorados pelo compiladorignorados pelo compilador

2.2. Os números dos comandos Os números dos comandos podem ser quaisquer(int >= 0) podem ser quaisquer(int >= 0) constituindo em 1 a 5 dígitos, constituindo em 1 a 5 dígitos, colocados no campo das colocados no campo das colunas 1 a 5.colunas 1 a 5.

3.3. Para indicar continuação de um Para indicar continuação de um comando utiliza-se um caracter comando utiliza-se um caracter qquer diferente de espaço ( b) e qquer diferente de espaço ( b) e zeros na coluna 6; podendo haver zeros na coluna 6; podendo haver no MAX. 19 linhas de contunuação.no MAX. 19 linhas de contunuação.

4.4. As colunas 73 a 80 são utilizadas As colunas 73 a 80 são utilizadas pelo compilador, portanto não se pelo compilador, portanto não se deve escrever nestas colunas.deve escrever nestas colunas.

Page 72: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Conceitos da LinguagemConceitos da Linguagem Formatação Formatação

Conceitos da LinguagemConceitos da Linguagem Formatação Formatação

FORTRAN 90 – Formato Livre– O programa pode ser escrito em qualquer posição – as linhas de continuação são indicadas pelo símbolo ‘&’

no fim da sentença– e a próxima linha abaixo que não seja um comentário será

tomada como continuação – Deixe sempre um espaço entre os comandos e o símbolo

de continuação – É permitida a inserção de comentários após o ‘& – Os rótulos devem ser os primeiros caracteres da linha, e

podem estar em qualquer coluna.

Page 73: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Conceitos Básicos Conceitos Básicos ComentáriosComentários

Conceitos Básicos Conceitos Básicos ComentáriosComentários

Não são interpretados pelo compilador Um bom programa tem muitos comentários O comando ‘! ’ indica que o que vem após ele é

comentário, ele pode vir em qualquer posição, inclusive após os comandos.

Alguns compiladores aceitam qualquer caractere diferente de números para iniciar a linha de comentário

Page 74: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Conceitos BásicosConceitos BásicosConstantesConstantes

Conceitos BásicosConceitos BásicosConstantesConstantes

Constante é uma quantidade fixa, invariável; um valor que não muda no decorrer dos cálculos relativos ao programa.

Classes:

– Numéricas – tratam números

– Lógicas – tratam valores lógicos (verdadeiro x falso)

– Cadeia de Caracteres – tratam seq. de caracteres

Page 75: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Conceitos BásicosConceitos BásicosVariáveis e Nomes de BlocosVariáveis e Nomes de Blocos

Conceitos BásicosConceitos BásicosVariáveis e Nomes de BlocosVariáveis e Nomes de Blocos

Variável é uma entidade que armazena constantes e é conhecida no programa por um nome.

É um nome representando uma área de memória, que pode conter de 1 a 6 caracteres alfanuméricos, começando necessariamente por uma letra.

Caracteres adicionais são permitidos, mas ignorados. Recomendações para nomes de variáveis!

Page 76: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Conceitos BásicosConceitos BásicosTipos de VariáveisTipos de VariáveisConceitos BásicosConceitos BásicosTipos de VariáveisTipos de Variáveis

Inteiras (INTEGER)

– Podem assumir os seguintes valores:

INTEGER*4 pode ser representado somente por: INTEGER

INTEGER*1 –128 a 127

INTEGER*2 –32,768 a 32,767

INTEGER*4 –2,147,483,648 a 2,147,483,647

Page 77: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Conceitos BásicosConceitos BásicosTipos de VariáveisTipos de VariáveisConceitos BásicosConceitos BásicosTipos de VariáveisTipos de Variáveis

Reais (REAL)

– Precisão simples, 6 casas decimais (padrão):

– REAL*4 ou REAL `3.402823E+38REAL*4 ou REAL `3.402823E+38

– Precisão dupla, 15 casas decimais (padrão): REAL*8 ou DOBLE REAL*8 ou DOBLE

PRECISION`1.797693134862316D+308PRECISION`1.797693134862316D+308

A parte exponencial deve ser separada por um ‘d’ ou ’D’ no lugar do ‘e’ ou ‘E’ para real do tipo *8.

Page 78: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Conceitos BásicosConceitos BásicosTipos de VariáveisTipos de VariáveisConceitos BásicosConceitos BásicosTipos de VariáveisTipos de Variáveis

Complexas (COMPLEX)

– Precisão simples, 6 casas decimais:

» COMPLEX*8 ou COMPLEXCOMPLEX*8 ou COMPLEX

– Precisão dupla, 15 casas decimais:

» COMPLEX*16COMPLEX*16

Os valores que um complexo pode assumir são os mesmos que os reais.

Page 79: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Conceitos BásicosConceitos BásicosTipos de VariáveisTipos de VariáveisConceitos BásicosConceitos BásicosTipos de VariáveisTipos de Variáveis

Alfanuméricas (CHARACTER)

– CHARACTER NOME*CHARACTER NOME*ww

Onde w representa o número máximo de caracteres que a variável pode conter dentro do programa.

Page 80: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Conceitos BásicosConceitos BásicosTipos de VariáveisTipos de VariáveisConceitos BásicosConceitos BásicosTipos de VariáveisTipos de Variáveis

Lógicas (LOGICAL) LOGICAL NOMELOGICAL NOME

Podem assumir os valores

– .TRUE. (VERDADEIRO) ou

– .FALSE. (FALSO) Ou somente T e F ou ainda 1 e 0 ou diferente de zero e 0.

Page 81: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

OperadoresOperadoresAtribuiçãoAtribuiçãoOperadoresOperadoresAtribuiçãoAtribuição

– Identificador = ExpressãoIdentificador = Expressão

Exemplos:

– ano = 1999

– nome = ‘Joao’

– Temp = 25.4 Em Fortran 90, pode ser utilizado ;

– ano = 1999; nome = ‘Joao’;Temp = 25.4

Page 82: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

OperadoresOperadoresLiteraisLiterais

OperadoresOperadoresLiteraisLiterais

Uma função útil para variáveis literais é a concatenação (junção de palavras)

Exemplo:

– A = ‘tele’

– B = ‘visao’

– C = A//B

Page 83: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

OperadoresOperadoresAritméticosAritméticosOperadoresOperadoresAritméticosAritméticos

Executam operações aritméticas comuns

FORTRAN Matemática Tradicional Significado

+ + soma

- - Subtração

* Multiplicação

/ Divisão

** ap Potenciação

Page 84: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

OperadoresOperadoresRelacionaisRelacionaisOperadoresOperadoresRelacionaisRelacionais

Comparam variáveis, constantes ou expressões e retornam

– ‘.TRUE..TRUE.’, ‘TT’ ou ‘1’1’ se a comparação for verdadeira,

– ‘‘.FALSE..FALSE.’, ‘FF’ ou ‘00’ se a comparação for falsa.

FORTRAN F90 Matemática Tradicional Significado

.LT. < < MENOR QUE

.LE. <= <      

MENOR OU IGUAL QUE

.EQ. == = IGUAL A

.NE. /==

DIFERENTE DE

.GT. > > MAIOR QUE

.GE. >= MAIOR OU IGUAL QUE

Page 85: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

OperadoresOperadoresLógicosLógicos

OperadoresOperadoresLógicosLógicos

São usados quando são necessárias mais de uma condição relacional ou quando é preciso inverter seu resultado.

FORTRAN Significado

.AND. Junção – verdadeiro se os dois operadores forem verdadeiros

.OR. Disjunção – verdadeiro se um dos dois operadores forem verdadeiro

.NOT. Negação – verdadeiro se o operador for falso

.NEQV. ou .XOR. Desigualdade Lógica – verdadeiro se somente um dos operadores for verdadeiro

.EQV. Igualdade Lógica – verdadeiro se os dois operadores forem falsos ou verdadeiros

Page 86: Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva patroc@ufersa.edu.br Universidade Federal Semi-Árido Departamento

Programação Aplicada a Engenharia

Prioridades em FORTRANPrioridades em FORTRAN

Operador Prioridade

** 1ª

* 2ª

/ 2ª

+ 3ª

- 3ª

.EQ. 4ª

.NE. 4ª

.GT. 4ª

.GE. 4ª

.LT. 4ª

.LE. 4ª

.NOT. 5ª

.AND. 6ª

.OR. 7ª

O uso de parênteses O uso de parênteses pode ser feito para trocar pode ser feito para trocar a ordem de prioridade.a ordem de prioridade.