2. 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.
3. Introdução
• Dentre as formas de representação de algoritmos mais
conhecidas podemos citar:
• Descrição Narrativa;
• Fluxograma Convencional;
• Pseudocódigo, também
Estruturada ou Portugol.
conhecido
como
Linguagem
4. 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
5. 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
6. 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
7. 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".
8. 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.
9. 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.
10. Fluxograma
SÍ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éDefinido
Raramente utilizado. Processo já conhecido que será
aplicado ao fluxo.
11. Fluxograma
SÍ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.
12. Fluxograma
SÍMBOLO
FUNÇÃO
DESCRIÇÃO
Manual Operation
Raramente utilizado. Corresponde à operação
ou Operação Manual 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 Símbolo que corrresponde à fita perfurada, que
Perfurada
não é mais utilizada atualmente.
13. Fluxograma
SÍMBOLO
FUNÇÃO
DESCRIÇÃO
Summing Junction ou
Tem a função da tabela verdade E.
Somador
OR – OU
Collate ou
Agrupamento
Sort ou Classificação
Seta de Fluxo
Tem a função da tabela verdade OU.
Símbolo utilizado para agrupar dados.
Símbolo utilizado para classificar os dados, por
exemplo, em ordem alfabética
Indica para onde está indo a informação
14. Fluxograma
SÍMBOLO
FUNÇÃO
DESCRIÇÃO
Internal Storage ou
Armazenamento
Interno
Raramente utilizado. Símbolo que representa o
armazenamento em memória.
Extract ou Extração
Sí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
Delay ou Atraso
Referente aos dados que estão guardados.
Referente à tempo de atraso. Por exemplo, quanto
tempo o resultado de uma conta, vai ficar
aparecendo na tela?
15. Fluxograma
SÍ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)
Símbolo para armazenamento de dados direto,
Direct Access Storage
significa que os dados podem ser recuperados
ou Armazenamento
diretamente sem passar por outros dados na
de Acesso Direto
seqüência.
Display ou Exibição
É considerado também o símbolo para SAÍDA de
dados, como uma impressora ou monitor.
16. 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.
17. 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.
18. Fluxograma
• Exemplo 1:
• Solução:
• Fluxograma:
INÍCIO
“Digite dois
números do
tipo real”
Leia X
Leia Y
Z=X+Y
FIM
30
segundos
“O resultado
da soma entre
X e Y é Z”
19. 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
20. 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.
21. 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.
22. Fluxograma
• Exemplo 2:
• Solução:
• Fluxograma:
INÍCIO
“Digite os
valores das
quatro provas”
Leia X, Y, Z, W
SOMA = X + Y + Z + W
MÉDIA = SOMA / 4
FIM
30
segundos
“A nota final do
aluno é: , MÉDIA”
23. 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.
24. 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;