Você está na página 1de 25

Fundamentos de Programao

Noes de Algoritmos
Tibrius O. Bonates
DEMA/UFC
2015.1

Noes de Algoritmos

Algoritmo
sequncia de passos que realiza uma determinada tarefa.

Noes de Algoritmos

Algoritmo
sequncia de passos que realiza uma determinada tarefa.
Uma mesma tarefa pode admitir vrios algoritmos.

Noes de Algoritmos

Algoritmo
sequncia de passos que realiza uma determinada tarefa.
Uma mesma tarefa pode admitir vrios algoritmos.
Exemplo de tarefa: trocar um pneu de um carro.
Exemplo de algoritmo para trocar um pneu de um carro: ...

Noes de Algoritmos

Um algoritmo deve especificar passos bem definidos, que

no contenham ambiguidade.

Noes de Algoritmos

Um algoritmo deve especificar passos bem definidos, que

no contenham ambiguidade.
Desta forma, sabe-se que tipo de resultado final ser obtido.

Noes de Algoritmos

Um algoritmo deve especificar passos bem definidos, que

no contenham ambiguidade.
Desta forma, sabe-se que tipo de resultado final ser obtido.
Como consequncia, quando executado sob exatamente as

mesmas condies, o algoritmo produzir o mesmo


resultado.

Noes de Algoritmos

Um algoritmo deve especificar passos bem definidos, que

no contenham ambiguidade.
Desta forma, sabe-se que tipo de resultado final ser obtido.
Como consequncia, quando executado sob exatamente as

mesmas condies, o algoritmo produzir o mesmo


resultado.
Na maioria dos cases, algoritmos so elaborados para

especificar tarefas que podem ser realizadas (internamente)


por um computador.

Noes de Algoritmos
Um possvel algoritmo (dentre vrios) para trocar um pneu:
1. Obter estepe, macaco e chave de roda
2. Usar macaco para elevar carro
3. Usar chave de roda para remover parafusos
4. Remover pneu furado
5. Posicionar estepe
6. Usar chave de roda para fixar parafusos
7. Baixar carro

Noes de Algoritmos
Um possvel algoritmo (dentre vrios) para trocar um pneu:
1. Obter estepe, macaco e chave de roda
2. Usar macaco para elevar carro
3. Usar chave de roda para remover parafusos
4. Remover pneu furado
5. Posicionar estepe
6. Usar chave de roda para fixar parafusos
7. Baixar carro
Dois pequenos problemas com este algoritmo so:

Noes de Algoritmos
Um possvel algoritmo (dentre vrios) para trocar um pneu:
1. Obter estepe, macaco e chave de roda
2. Usar macaco para elevar carro
3. Usar chave de roda para remover parafusos
4. Remover pneu furado
5. Posicionar estepe
6. Usar chave de roda para fixar parafusos
7. Baixar carro
Dois pequenos problemas com este algoritmo so:
No est bem definido o quanto se deve elevar o carro.

Noes de Algoritmos
Um possvel algoritmo (dentre vrios) para trocar um pneu:
1. Obter estepe, macaco e chave de roda
2. Usar macaco para elevar carro
3. Usar chave de roda para remover parafusos
4. Remover pneu furado
5. Posicionar estepe
6. Usar chave de roda para fixar parafusos
7. Baixar carro
Dois pequenos problemas com este algoritmo so:
No est bem definido o quanto se deve elevar o carro.
Equipamentos no so recolhidos.

Noes de Algoritmos
Um possvel algoritmo (dentre vrios) para trocar um pneu:
1. Obter estepe, macaco e chave de roda
2. Usar macaco para elevar carro at pneu no tocar o cho
3. Usar chave de roda para remover parafusos
4. Remover pneu furado
5. Posicionar estepe
6. Usar chave de roda para fixar parafusos
7. Baixar carro
8. Recolher equipamentos

Noes de Algoritmos

Por que construir um algoritmo?

Noes de Algoritmos

Por que construir um algoritmo?


1. Identificar recursos necessrios (ingredientes ou dados).

Noes de Algoritmos

Por que construir um algoritmo?


1. Identificar recursos necessrios (ingredientes ou dados).
2. Identificar subtarefas (Elevar carro, Afrouxar
parafusos).

Noes de Algoritmos

Por que construir um algoritmo?


1. Identificar recursos necessrios (ingredientes ou dados).
2. Identificar subtarefas (Elevar carro, Afrouxar
parafusos).
3. Abstrair detalhes e focar em descrio de alto nvel,
prxima ao domnio da tarefa.

Noes de Algoritmos

Por que construir um algoritmo?


1. Identificar recursos necessrios (ingredientes ou dados).
2. Identificar subtarefas (Elevar carro, Afrouxar
parafusos).
3. Abstrair detalhes e focar em descrio de alto nvel,
prxima ao domnio da tarefa.
4. Fazer avaliao prvia de certas qualidades do algoritmo,
antes de codific-lo em um programa.

Noes de Algoritmos
Algoritmo Trocar-a-lmpada, verso 1:
1. Obter escada
2. Posicionar escada embaixo da lmpada
3. Obter lmpada nova
4. Subir na escada
5. Retirar lmpada velha
6. Colocar lmpada nova

Noes de Algoritmos
Algoritmo Trocar-a-lmpada, verso 1:
1. Obter escada
2. Posicionar escada embaixo da lmpada
3. Obter lmpada nova
4. Subir na escada
5. Retirar lmpada velha
6. Colocar lmpada nova
E se a lmpada no estivesse queimada?

Noes de Algoritmos
Algoritmo Trocar-a-lmpada, verso 2:
1. Obter escada
2. Posicionar escada embaixo da lmpada
3. Obter lmpada nova
4. Acionar interruptor
5. Se lmpada no acender, ento
6.

Subir na escada

7.

Retirar lmpada velha

8.

Colocar lmpada nova

Noes de Algoritmos
Algoritmo Trocar-a-lmpada, verso 2:
1. Obter escada
2. Posicionar escada embaixo da lmpada
3. Obter lmpada nova
4. Acionar interruptor
5. Se lmpada no acender, ento
6.

Subir na escada

7.

Retirar lmpada velha

8.

Colocar lmpada nova

Buscamos escada e lmpada sem saber se estas so


necessrias.

Noes de Algoritmos
Algoritmo Trocar-a-lmpada, verso 3:
1. Acionar interruptor
2. Se lmpada no acender, ento
3.

Obter escada

4.

Posicionar escada embaixo da lmpada

5.

Obter lmpada nova

6.

Subir na escada

7.

Retirar lmpada velha

8.

Colocar lmpada nova

Noes de Algoritmos
Algoritmo Trocar-a-lmpada, verso 3:
1. Acionar interruptor
2. Se lmpada no acender, ento
3.

Obter escada

4.

Posicionar escada embaixo da lmpada

5.

Obter lmpada nova

6.

Subir na escada

7.

Retirar lmpada velha

8.

Colocar lmpada nova

E se a lmpada nova no funcionar?

Noes de Algoritmos
Algoritmo Trocar-a-lmpada, verso 4:
1. Acionar interruptor
2. Se lmpada no acender, ento
3.

Obter escada

4.

Posicionar escada embaixo da lmpada

5.

Repetir

6.

Obter lmpada nova

7.

Subir na escada

8.

Retirar lmpada velha

9.

Colocar lmpada nova

10.

At lmpada acender

Você também pode gostar