24
Formas de Representação de Algoritmos Prof.ª Ms. Eng.ª Elaine Cecília Gatto Algoritmos e Estruturas de Dados Engenharia de Computação Universidade Sagrado Coração

Algoritmos - Formas de Representação de Algoritmos

Embed Size (px)

DESCRIPTION

Algoritmos - Formas de Representação de Algoritmos

Citation preview

Page 1: Algoritmos - Formas de Representação de Algoritmos

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

Page 2: Algoritmos - Formas de Representação de Algoritmos

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.

Page 3: Algoritmos - Formas de Representação de Algoritmos

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.

Page 4: Algoritmos - Formas de Representação de Algoritmos

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

Page 5: Algoritmos - Formas de Representação de Algoritmos

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

Page 6: Algoritmos - Formas de Representação de Algoritmos

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

Page 7: Algoritmos - Formas de Representação de Algoritmos

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

Page 8: Algoritmos - Formas de Representação de Algoritmos

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.

Page 9: Algoritmos - Formas de Representação de Algoritmos

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.

Page 10: Algoritmos - Formas de Representação de Algoritmos

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.

Page 11: Algoritmos - Formas de Representação de Algoritmos

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.

Page 12: Algoritmos - Formas de Representação de Algoritmos

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.

Page 13: Algoritmos - Formas de Representação de Algoritmos

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

Page 14: Algoritmos - Formas de Representação de Algoritmos

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?

Page 15: Algoritmos - Formas de Representação de Algoritmos

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.

Page 16: Algoritmos - Formas de Representação de Algoritmos

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.

Page 17: Algoritmos - Formas de Representação de Algoritmos

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.

Page 18: Algoritmos - Formas de Representação de Algoritmos

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”

Page 19: Algoritmos - Formas de Representação de Algoritmos

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

Page 20: Algoritmos - Formas de Representação de Algoritmos

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.

Page 21: Algoritmos - Formas de Representação de Algoritmos

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.

Page 22: Algoritmos - Formas de Representação de Algoritmos

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

Page 23: Algoritmos - Formas de Representação de Algoritmos

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.

Page 24: Algoritmos - Formas de Representação de Algoritmos

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;