Você está na página 1de 38

Algoritmos e Técnicas de programação

Professora: Luciana Faria


Formas de representação de Algoritmos
Dentre algumas formas de representar
algoritmo as mais utilizadas são:


Descrição Narrativa;

Fluxograma;

Pseudocódigo
Descrição Narrativa

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
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;
Algoritmo Otimizado

- 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;
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:
- se a lâmpada não acender, então:
- retire a lampada;
- pegue uma escada;
- coloque outra lampada nova;
- posicione-a embaixo da lampada;
- se a lâmpada não acender, então:
- busque uma lampada nova;
- retire a lampada;
- suba na escada;
- coloque outra lampada nova;
- retire a lampada velha;
(Até quando ???)
- coloque a lampada nova;
Utilização de Laço Condicional
Versão Final do Algoritmo

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;
Atividades
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.
FLUXOGRAMAS
Forma em que os algoritmos são expressos
graficamente por formas geométricas
diferentes que indicam ações distintas.
Principais Símbolos
usados nos Fluxogramas

Terminação

Utilizado para indicar o início e o fim de um algoritmo


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
Fluxograma

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.
Exemplo: Fluxograma que mostra
“Olá mundo” 10 vezes na tela.
Praticando

● Monte um fluxograma que:


●Solicite um número (x) e informe se x é positivo ou
negativo. Considere que zero (0) é positivo.
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.
Forma Geral

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 um algoritmo em forma de pseudocódigo.

<nome_do_algoritmo> é um nome 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.
Pseudocódigo
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.
Comparações entre formas
De representação de Algoritmos
Síntese
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).

Você também pode gostar