algoritmos - formas de representação de algoritmos

Post on 29-Jun-2015

10.566 Views

Category:

Education

9 Downloads

Preview:

Click to see full reader

DESCRIPTION

Algoritmos - Formas de Representação de Algoritmos

TRANSCRIPT

Formas de Representação de AlgoritmosProf.ª Ms. Eng.ª Elaine Cecília GattoAlgoritmos e Estruturas de DadosEngenharia de ComputaçãoUniversidade Sagrado Coração

Introdução • Existem diversas formas de representação de algoritmos, mas

não há um consenso com relação à melhor delas.

• Algumas formas de representação de algoritmos tratam os problemas apenas em nível lógico, abstraindo-se de detalhes de implementação muitas vezes relacionados com alguma linguagem de programação específica.

• Por outro lado existem formas de representação de algoritmos que possuem uma maior riqueza de detalhes e muitas vezes acabam por obscurecer as idéias principais do algoritmo, dificultando seu entendimento.

Introdução• Dentre as formas de representação de algoritmos mais

conhecidas podemos citar:

• Descrição Narrativa;• Fluxograma Convencional;• Pseudocódigo, também conhecido como Linguagem

Estruturada ou Portugol.

Narração Descritiva• Nesta forma de representação os algoritmos são expressos

diretamente em linguagem natural. Exemplo de uma receita de bolo:

• Misture os ingredientes• Unte a forma com manteiga• Despeje a mistura na forma• Se houver coco ralado• então despeje sobre a mistura• Leve a forma ao forno• Enquanto não corar• deixe a forma no forno• Retire do forno• Deixe esfriar

Narração Descritiva• Exemplo de um pneu furado:

• Troca de um pneu furado:• Afrouxar ligeiramente as porcas• Suspender o carro• Retirar as porcas e o pneu• Colocar o pneu reserva• Apertar as porcas• Abaixar o carro• Dar o aperto final nas porcas

Narração Descritiva• Exemplo do cálculo da média de um aluno:

• Cálculo da média de um aluno:• Obter as suas 2 notas de provas• Calcular a média aritmética• Se a média for maior que 7,• o aluno foi aprovado,• senão ele foi reprovado

Narração Descritiva• Esta representação é pouco usada na prática porque o uso da

linguagem natural muitas vezes dá oportunidade a más interpretações, ambigüidades e imprecisões.

• Por exemplo, a instrução "afrouxar ligeiramente as porcas" no algoritmo da troca de pneus está sujeita a interpretações diferentes por pessoas distintas.

• Uma instrução mais precisa seria: "afrouxar a porca, girando-a 30º no sentido anti-horário".

Fluxograma• É uma representação gráfica de algoritmos onde formas

geométricas diferentes implicam ações (instruções, comandos) distintos.

• Tal propriedade facilita o entendimento das idéias contidas nos algoritmos e justifica sua popularidade.

• Esta forma é aproximadamente intermediária à descrição narrativa e ao pseudocódigo (subitem seguinte), pois é menos imprecisa que a primeira e, no entanto, não se preocupa com detalhes de implementação do programa.

• Nota-se que os fluxogramas convencionais preocupam-se com detalhes de nível físico da implementação do algoritmo.

• Por exemplo, figuras geométricas diferentes são adotadas para representar operações de saída de dados realizadas em dispositivos distintos, como uma fita magnética ou um monitor de vídeo.

Fluxograma• O pacote office possui os símbolos do fluxograma. Na aba

INSERT, na parte ILLUSTRATIONS, existe o botão SHAPES. Na setinha aparecem os símbolos de desenho, entre eles o FLOWCHART, ou FLUXOGRAMA.

FluxogramaSÍMBOLO FUNÇÃO DESCRIÇÃO

Process ou Processo

Representa todo tipo de ação (em Matemática seriam as Operações Aritméticas e Lógicas, a Atribuição, etc).

Process Alternate ou Processo Alternativo

Raramente utilizado, indica uma forma diferente de se fazer o mesmo processo.

Decision ou Decisão

Uma ação que é efetuada de acordo com uma condição. Exemplo: Se o aluno tirou nota 7, então ele está aprovado, caso contrário, está reprovado.

Data ou Dados Representa o símbolo de dados, entrada e saída simultaneamente.

Predefined Process ou Processo Pré-

DefinidoRaramente utilizado. Processo já conhecido que será aplicado ao fluxo.

FluxogramaSÍMBOLO FUNÇÃO DESCRIÇÃO

Document ou Documento

Símbolo utilizado para indicar a criação de um documento.

Multi-Document ou Múltiplos Documentos

Símbolo utilizado para indicar a criação de vários documentos.

Terminator ou Terminador Utilizado para inicar e terminar o fluxograma

Preparation ou Preparação Raramente utilizado.

Manual Input ou Entrada Manual

Corresponde à instrução de entrada de dados através do teclado. Atualmente é considerado o símbolo para qualquer entrada de dados.

FluxogramaSÍMBOLO FUNÇÃO DESCRIÇÃO

Manual Operation ou Operação Manual

Raramente utilizado. Corresponde à operação manual de algum processo.

Connector ou Conector Raramente utilizado.

Off-Page Connector ou Conector Fora de

Página Raramente utilizado.

Card ou Cartão Símbolo que corresponde ao cartão perfurado, que não é mais utilizado atualmente.

Punched Tape ou Fita Perfurada

Símbolo que corrresponde à fita perfurada, que não é mais utilizada atualmente.

FluxogramaSÍMBOLO FUNÇÃO DESCRIÇÃO

Summing Junction ou Somador Tem a função da tabela verdade E.

OR – OU Tem a função da tabela verdade OU.

Collate ou Agrupamento Símbolo utilizado para agrupar dados.

Sort ou Classificação Símbolo utilizado para classificar os dados, por exemplo, em ordem alfabética

Seta de Fluxo Indica para onde está indo a informação

FluxogramaSÍMBOLO FUNÇÃO DESCRIÇÃO

Internal Storage ou Armazenamento

InternoRaramente utilizado. Símbolo que representa o armazenamento em memória.

Extract ou ExtraçãoSímbolo utilizado para extração de dados. Em banco de dados, através de comandos SQL, conseguir extrair algumas informações, até então tidas como desconexas, da base de dados.

Merge ou Mesclar Símbolo utilizado para mesclar os dados. No excel, esse “comando” transforma duas colunas em uma.

Stored Data ou Dados Armazenados Referente aos dados que estão guardados.

Delay ou AtrasoReferente à tempo de atraso. Por exemplo, quanto tempo o resultado de uma conta, vai ficar aparecendo na tela?

FluxogramaSÍMBOLO FUNÇÃO DESCRIÇÃO

Sequential Storage Access ou

Armazenamento de Acesso Sequencial

Símbolo para armazenamento de dados de forma sequencial, significa que os dados serão acessados na ordem na qual foram armazenados.

Magnetic Disk ou Disco Magnético

Símbolo para armazenamento de dados, no caso o disco rígido (HD)

Direct Access Storage ou Armazenamento

de Acesso Direto

Símbolo para armazenamento de dados direto, significa que os dados podem ser recuperados diretamente sem passar por outros dados na seqüência.

Display ou Exibição É considerado também o símbolo para SAÍDA de dados, como uma impressora ou monitor.

Exemplos• Exemplo 1:

• Desenvolva uma solução para o problema a seguir utilizando as formas de representação “descrição narrativa”, “fluxograma” e “algoritmo” para demonstrar o seu raciocínio.

• Problema: O software (ou programa) a ser desenvolvido deve solicitar ao usuário dois números do tipo real. O usuário deve digitar esses números. Em seguida, o programa deve somar esses números e apresentar o resultado na tela.

Exemplos• Exemplo 1: • Solução:• Descrição narrativa:• Apresentar na tela uma mensagem para o usuário,

informando-o que deverá digitar dois números do tipo real.• Após ler a mensagem, o usuário deverá inserir os números,

através do teclado, que serão lidos e armazenados em duas variáveis diferentes;

• Em seguida, será aplicada a operação de soma nos dois operandos, isto é, nos dois números que foram inseridos pelo usuário, sendo o resultado armazendo em uma terceira variável;

• O resultado será então apresentado na tela para o usuário por um período de tempo, finalizando assim o programa.

Fluxograma• Exemplo 1: • Solução:• Fluxograma:

INÍCIO

“Digite dois números do

tipo real”

Leia X Leia Y

Z = X + Y

30 segundos

FIM“O resultado

da soma entre X e Y é Z”

Fluxograma• Exemplo 1: • Solução:• Algoritmo:1. Início do algoritmo;2. Apresentar na tela a seguinte mensagem para o usuário:

“Digite dois números do tipo real”;3. Ler o número X e ler o número Y;4. Somar o número X com o número Y;5. Colocar o resultado em Z;6. Apresentar na tela a seguinte mensagem para o usuário: “A

soma entre os números X, ‘X’, e Y, ‘Y’, é Z, ‘Z’ ”.7. Manter a mensagem na tela por 30 segundos.8. Fim do algoritmo

Exemplos• Exemplo 2:

• Desenvolva uma solução para o problema a seguir utilizando as formas de representação “descrição narrativa”, “fluxograma” e “algoritmo” para demonstrar o seu raciocínio.

• Problema: O software (ou programa) a ser desenvolvido deve solicitar que o usuário digite as quatro notas que obteve em suas quatro provas. O usuário deve digitar esses números que são do tipo real. Em seguida, o programa deve fazer a média desses números e apresentar o resultado na tela.

Exemplos• Exemplo 2: • Solução:

• Descrição narrativa:• Apresentar na tela uma mensagem para o usuário, informando-o

que deverá digitar os valores das notas das quatro provas que realizou.

• Após ler a mensagem, o usuário deverá inserir os números, através do teclado, que serão lidos e armazenados em quatro variáveis diferentes;

• Em seguida, será aplicada duas operações;• uma que soma os quatro operandos e armazena o resultado

em uma variável SOMA;• outra que divide o resultado da SOMA pelo valor 4 (quatro) e

armazena o resultado da variável em MÉDIA;• O resultado, MÉDIA, será então apresentado na tela para o

usuário por um período de tempo, finalizando assim o programa.

Fluxograma• Exemplo 2: • Solução:• Fluxograma:

INÍCIO

“Digite os valores das

quatro provas”

Leia X, Y, Z, W

SOMA = X + Y + Z + W

30 segundosFIM “A nota final do

aluno é: , MÉDIA”

MÉDIA = SOMA / 4

Fluxograma• Exemplo 2: • Solução:• Algoritmo:1. Início do algoritmo;2. Apresentar na tela a seguinte mensagem para o usuário: “Digite

as quatro notas das provas (tipo real)”;3. Ler os números X, Y, Z e W;4. Somar os números X, Y, Z e W;5. Colocar o resultado em SOMA;6. Dividir a SOMA por 4;7. Colocar o resultado em MÉDIA;8. Apresentar na tela a seguinte mensagem para o usuário: “A

média final do aluno é: , MÉDIA”;9. Manter a mensagem na tela por 30 segundos;10. Fim do algoritmo.

Exercícios• Faça uma descrição narrativa, um fluxograma e também um

algoritmo para as seguintes situações:1. Levantar da Cama;2. Lavar Roupa;3. Trocar um Pneu Furado;4. Trocar uma Lâmpada;5. Ir para a Balada;6. Obedecer os Pais;7. Lavar a louça;8. Assistir um filme em DVD;9. Fazer um bolo recheado;10. Fazer uma ligação pelo celular;

top related