1. 1
UNIVERSIDADE ESTADUAL DO MARANHÃO
DEPARTAMENTO DE MATEMÁTICA E INFORMÁTICA
DISCIPLINA: ALGORÍTMOS E PROGRAMAÇÃO
PROF: JOBERTH DE NAZARÉ SILVA
Algoritmos
Prof. Ms. Joberth de Nazaré Silva
3. Definição
•O que é um algoritmo?
•Porque precisamos de um algoritmo?
•Não necessariamente envolve aspectos
computacionais:
• Trocar pneu de um carro
• Receita de bolo
• Fritar um ovo
3
“Um conjunto finito de regras, bem definidas,
Para a solução de um problema
em um tempo finito.”
4. Exemplo
• Sequência para fritar um ovo:
1. Retirar o ovo da geladeira
2. Colocar a frigideira no fogo
3. Colocar óleo
4. Esperar até o óleo ficar quente
5. Quebrar o ovo separando a casca
6. Colocar o conteúdo do ovo na frigideira
7. Esperar um minuto
8. Retirar o ovo da frigideira
9. Apagar o fogo
5. Exemplo
• Tal sequência é um algoritmo? Vejamos...
• Possui uma sequência de instruções finitas e ordenadas?
• R.: SIM. Instruções de 1 a 9.
• O objetivo da sequência foi atingido?
• R.: SIM. O ovo foi frito.
• Logo, é um algoritmo!
6. Características
• Capacidade de receber dados externos
•Não ter dupla interpretação
• Gerar informações de saída
• Deve ter tempo finito
6
7. Características
• Fazer uma Mousse de Maracujá
Entrada:
1 lata de leite condensado
1 lata de creme de leite sem soro
1 lata (a mesma medida) de suco de maracujá concentrado
1 envelope de gelatina em pó sem sabor
Exemplo:
8. Características
Algoritmo:
1. Bata no liquidificador o leite condensado, o creme de leite
sem soro e o suco de maracujá
2. A parte, prepare a gelatina em pó, conforme instruções do
envelope
3. Quando amornar, coloque para bater juntamente com os
demais ingredientes que estão no liquidificador
4. Unte uma forma de pudim com margarina e antes de
colocar o creme passe água pela forma, como se fosse
enxaguá-la
5. Coloque no congelador até estar no ponto para tirar da
forma
10. Características
Exemplo de Algoritmo de Tempo Infinito
1. Fazer n igual a zero e i igual a 1
2. Enquanto n for menor do que 5
a) Escrever i
b) Somar 2 ao i
3. Terminar
Problema?????
14. Refinamento Sucessivos
Um algoritmo é completo se os seus comandos
forem compreendidos.
Um comando que não for compreendido será
refinado.
Exemplo: Algoritmo CALCULA_MÉDIA
1. Receba os dois números
2. Calcule a média dos dois números
3. Exiba o resultado
15. Refinamento Sucessivos
Desdobrando o comando “Calcule a média dos
dois números” em:
Soma de dois números
Divida o resultado por 2
Após esse refinamento, o algoritmo pode ser
considerado completo.
16. Refinamento Sucessivos
Então o algoritmo é reescrito:
Algoritmo “visão global”:
1. Receba os dois números
2. Soma os dois números
3. Divida o resultado por 2
4. Exiba o resultado
17. Refinamento Sucessivos
Refinamentos sucessivos separados é indicado
para algoritmos grandes.
Exemplo: Leia três valores inteiros, determine e
imprima o menor deles.
Algoritmo:
1. Leia os números
2. Determine o menor número
3. Escreva o menor número
18. Refinamento Sucessivos
1. Leia os números
Leia A,B,C
2. Determine o menor número
Se A<B e A<C então
Menor ← A
Senão
Determine o menor dentre B e C
Fim se