2. Apresentação
• Por que precisamos de algoritmos
• Características
• Formas de representação
• Estruturas chaves da construção de algoritmos
3. Por que precisamos de algoritmos ?
“A noção de
algoritmo é básica
para toda a
programação de
computadores”
“O conceito central da
programação e da ciência da
computação é o conceito de
algoritmo”
4. Por que precisamos de algoritmos ?
A importância do algoritmo está no fato
de termos que especificar uma seqüência
de passos lógicos para que o computador
possa executar uma tarefa qualquer.
Com uma ferramenta algorítmica,
podemos conceber uma solução para um
dado problema, independendo de uma
linguagem específica e até mesmo do
próprio computador.
5. Características Básicas
ter fim;
não dar margem à dupla interpretação (não
ambíguo);
capacidade de receber dado(s) de entrada do
mundo exterior;
poder gerar informações de saída para o
mundo externo ao do ambiente do algoritmo;
ser efetivo (todas as etapas especificadas no
algoritmo devem ser alcançáveis em um tempo
finito).
6. Formas de representação
Algoritmos podem ser representados, dentre
outras maneiras, por:
Descrição narrativa
Fluxograma
Linguagem algorítmica
7. Descrição narrativa
Faz-se uso do português para descrever
algoritmos.
EXEMPLO: Receita de Bolo:
Providencie manteiga, ovos, 2 Kg
de massa, etc.
Misture os ingredientes
Despeje a mistura na fôrma de bolo
Leve a fôrma ao forno
Espere 20 minutos
Retire a fôrma do forno
Deixe esfriar
Prove
8. Descrição narrativa
VANTAGENS:
o português é bastante conhecido por nós;
DESVANTAGENS:
imprecisão;
pouca confiabilidade (a imprecisão
acarreta a desconfiança);
extensão (normalmente, escreve-se muito
para dizer pouca coisa).
9. Fluxograma
Utilização de símbolos gráficos para representar
algoritmos. No fluxograma existem símbolos
padronizados para início, entrada de dados,
cálculos, saída de dados, fim, etc.
11. Fluxograma
VANTAGENS:
Uma das ferramentas mais conhecidas;
Figuras dizem muito mais que palavras;
Padrão mundial
DESVANTAGENS:
Faz com que a solução do problema já
esteja amarrada a dispositivos físicos;
Pouca atenção aos dados, não oferecendo
recursos para descrevê-los ou representá-los;
Complica-se à medida que o algoritmo
cresce
12. Linguagem algorítmica
Consiste na definição de uma
pseudolinguagem de programação, cujos
comandos são em português, para
representar algoritmos.
EXEMPLO:
Algoritmo CALCULA_DOBRO
Início
Leia NUM
DOBRO 2 * NUM
Escreva DOBRO
Fim
13. Linguagem algorítmica
VANTAGENS:
Independência física da solução (solução lógica
apenas);
Usa o português como base;
Pode-se definir quais e como os dados vão estar
estruturados;
Passagem quase imediata do algoritmo para uma
linguagem de programação qualquer.
DESVANTAGENS:
Exige a definição de uma linguagem não real para
trabalho;
Não padronizado.
14. Um ambiente para escrever algoritmos
Exemplo:
Exemplo:
Uma máquina hipotética para a qual será desenvolvido
um algoritmos.
O computador hipotético apresentará a seguinte
organização:
18. Escovar os Dentes
EXEMPLO: Escovar os dentes pela manhã.
Algoritmo Escovar_dentes
Início
Colocar creme dental na escova
Escova os dentes
Enxaguar a boca com água
Enxugar a boca
Fim_do_algoritmo.
21. Trocar uma lâmpada queimada
EXEMPLO: Trocar uma lâmpada queimada
Algoritmo Trocar_lâmpada_queimada
Início
Posicionar a escada debaixo da lâmpada
queimada;
Escolher uma nova lâmpada de mesma potência da
Queimada;
Subir na escada até que a lâmpada possa ser
alcançada;
Girar a lâmpada no sentido anti horário até
que ela se solte;
Posicionar a nova lâmpada no soquete;
Girá la no sentido horário até que ela se
firme Descer da escada;
Fim_do_algoritmo.
24. Preparar um Dry Martini
EXEMPLO: Preparar um Dry Martini
Algoritmo Preparar um Dry Martini
Início
Coloque um dose de vermute e duas
doses de Gin num copo
Adicione uma gota de angostura
Adicione uma gota de Orange Bitter
Coloque a Pedra de gelo
Enfeite com a azeitona esperta num
palito
Fim_do_algoritmo.Fim_do_algoritmo.
27. Exercício para casa
Troca de um pneu furado;
Fritar um ovo;
Fazer um bolo simples;
Atravessar uma rua;
Um escritório de previsão do tempo armazena
diariamente a temperatura média de uma determinada
região. A tarefa é descobrir qual é a menor temperatura
já registrada nos arquivos do escritório. Lembrar que
temperaturas podem ser negativas ou positivas.
28. Exercício
Analise e descreva uma maneira de mover os discos
do pino A para o pino C, mantendo a mesma ordem.
Em hipótese nenhuma um disco maior poderá ficar
sobre um menor. Para que um disco seja movido de
A para C, deve-se passar pelo pino B e vice-versa.