Algoritmos e Técnicas de programação
Professora: Luciana Faria
Formas de representação de Algoritmos
Descrição Narrativa;
Fluxograma;
Pseudocódigo
Dentre algumas formas de representar
algoritmo as mais utilizadas são:
Forma em que os algoritmos são expressos em linguagem natural.
Descrição Narrativa
EXEMPLO: Receita de Bolo
Providencie manteiga, ovos, farinha de trigo, chocolate, etc.
Misture os ingredientes
Despeje a mistura na forma de bolo Leve a forma ao forno
Espere 20 minutos
Retire a forma do forno Deixe esfriar
Prove
Descrição Narrativa
EXEMPLO: Trocar lâmpada queimada
1) Remova a lampada
2) Coloque uma nova lampada
Detalhando ou refinando os passos:
1.1) Coloque uma escada embaixo da lampada queimada
1.2) Suba na escada ate alcançar a lampada
1.3) Gire a lampada queimada no sentido anti-horário ate que ela se solte
Descrição Narrativa
Detalhando o passo 2
2.1) Escolha uma nova lampada de mesma potencia da queimada
2.2) Posicione a lampada nova no soquete
2.3) Gire a lampada no sentido horário ate que ela se firme
2.4) Desça da escada
2.5) Guarde a escada
Vamos agora fazer uma suposição?
E se a lâmpada NÃO acender?
Novo algoritmo
- pegue uma escada;
- posicione-a embaixo da lampada;
- busque uma lampada nova;
- ligue o interruptor;
- se a lâmpada não acender, então:
- suba na escada;
- retire a lampada velha;
- coloque a lampada nova;
- ligue o interruptor;
- se a lâmpada não acender, então:
- pegue uma escada;
- posicione-a embaixo da lampada;
- busque uma lampada nova;
- suba na escada;
- retire a lampada velha;
- coloque a lampada nova;
Algoritmo Otimizado
E se a nova lâmpada não acender???
E se a nova lâmpada não acender???
ligue o interruptor;
- se a lâmpada não acender, então:
- pegue uma escada;
- posicione-a embaixo da lampada;
- busque uma lampada nova;
- suba na escada;
- retire a lampada velha;
- coloque a lampada nova;
se a lâmpada não acender, então:
- retire a lampada;
- coloque outra lampada nova;
- se a lâmpada não acender, então:
- retire a lampada;
- coloque outra lampada nova;
(Até quando ???)
Utilização de Laço Condicional
ligue o interruptor;
se a lâmpada não acender, então:
pegue uma escada;
posicione-a embaixo da lampada;
busque uma lampada nova;
suba na escada;
retire a lampada velha;
coloque a lampada nova;
enquanto a lâmpada não acender, faça:
retire a lampada;
coloque outra lampada nova;
Versão Final do Algoritmo
Usando a forma de representacao “descricao narrativa”, faça um algoritmo para realizar a troca de um pneu furado utilizando estrutura de decisão e de repetição Considere as seguintes situações:
a) Qualquer pneu furado;
b) Qualquer pneu furado, porem verificar se o pneu reserva esta em condições de uso;
c) Verificar primeiro se tem algum pneu furado; se houver, verificar o pneu reserva e então, trocar o pneu furado.
Atividades
FLUXOGRAMAS
Forma em que os algoritmos são expressos
graficamente por formas geométricas
diferentes que indicam ações distintas.
Terminação
Utilizado para indicar o início e o fim de um algoritmo
Principais Símbolos
usados nos Fluxogramas
Fluxo
Define o fluxo da execução do algoritmo O fluxo é determinístico
Entrada de Dados
Solicita que o usuário digite um dado e armazena-o em uma variável
Exibição dos Dados
Apresenta dados na saída padrão (monitor)
Processo
Realiza um processamento qualquer
Decisão
Define o fluxo da execução em função de uma condição
Estrutura de seleção
Vantagens:
Uma das ferramentas mais conhecidas;
Figuras dizem muito mais que palavras;
Desvantagens:
Vinculada a dispositivos físicos;
Pouca atenção aos dados;
Baixa escalabilidade.
Fluxograma
Exemplo: Fluxograma que mostra
“Olá mundo” 10 vezes na tela.
● Monte um fluxograma que:
● Solicite um número (x) e informe se x é positivo ou negativo. Considere que zero (0) é positivo.
Praticando
Linguagem Algorítmica: Pseudocódigo
Forma de representação de algoritmos que
se assemelha muito ao modo como os
programas são escritos. Esta forma de
representação permite que os algoritmos
nela representados possam ser traduzidos,
quase que diretamente, para uma
linguagem de programação.
Algoritmo <nome_do_algoritmo>
<declaração de variáveis>
<subalgoritmos>
Início
<corpo do algoritmo>
Fim.
Forma Geral
Algoritmo éuma palavra que indica o início da definição de umalgoritmo em forma de pseudocódigo.
<nome_do_algoritmo> é umnome simbólico dado ao algoritmo com a finalidade de distingui-los dos demais.
<declaração_de_variáveis> consiste em uma porção opcional onde são declaradas as variáveis globais usadas
no algoritmo principal e, eventualmente, nos subalgoritmos.
<subalgoritmos> consiste de uma porção opcional do pseudocódigo onde são definidos os subalgoritmos.
Início e Fim são respectivamente as palavras que delimitam o início e o término do conjunto de instruções
do corpo do algoritmo.
Forma Geral
Exemplo: Cálculo da média de um aluno
Algoritmo Media
Var N1, N2, Media : real Início
Leia N1, N2
Média (N1 + N2) / 2 Se Média >= 6.0 Então Escreva “Aprovado”
Senão
Escreva “Reprovado”
Fim_se Fim.
Pseudocódigo
Comparações entre formas
De representação de Algoritmos
Há diversas formas de representação de algoritmos que diferem entre si pela quantidade de detalhes de implementação que fornecem ou, inversamente, pelo grau de abstração que possibilitam com relação à implementação do algoritmo em termos de uma linguagem de programação específica. Dentre as principais formas de representação de algoritmos destacam-se: a descrição narrativa, o fluxograma convencional e o pseudocódigo (ou linguagem estruturada).