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 ingredientesDespeje a mistura na forma de boloLeve a forma ao fornoEspere 20 minutosRetire a forma do fornoDeixe esfriarProve
Descrição Narrativa
EXEMPLO: Trocar lâmpada queimada1) Remova a lampada2) Coloque uma nova lampadaDetalhando ou refinando os passos:1.1) Coloque uma escada embaixo da lampada queimada1.2) Suba na escada ate alcançar a lampada1.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 mesmapotencia da queimada2.2) Posicione a lampada nova no soquete2.3) Gire a lampada no sentido horário ate queela se firme2.4) Desça da escada2.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 algoritmoO fluxo é determinístico
Entrada de Dados
Solicita que o usuário digite um dado e armazena-o emuma variável
Exibição dos Dados
Apresenta dados na saída padrão (monitor)
ProcessoRealiza um processamento qualquer
DecisãoDefine o fluxo da execução emfunçã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 dadefinição de umalgoritmo em forma de pseudocódigo.
<nome_do_algoritmo> é umnome simbólico dado aoalgoritmo com a finalidade de distingui-los dos demais.
<declaração_de_variáveis> consiste em uma porçãoopcional 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 quedelimitam 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 MediaVar N1, N2, Media : realInício Leia N1, N2 Média (N1 + N2) / 2 Se Média >= 6.0 Então Escreva “Aprovado” Senão Escreva “Reprovado” Fim_seFim.
Pseudocódigo
Comparações entre formasDe 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).
Síntese