Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Algoritmos - Definição e Propriedades

Disciplina de Algoritmos e Lógica de Programação - Aula 3
by

Karla de Souza

on 17 April 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Algoritmos - Definição e Propriedades


Por exemplo:
instruções para o uso de medicamentos,
indicações de como montar um aparelho,
uma receita de culinária.
Até mesmo uma coreografia!
Algoritmos
Algoritmos são nossos amigos!!
A Serem Passados no Quadro
Exercícios
Conclusões
Algoritmos fazem parte do nosso dia a dia;
Sequência de ações para a solução de um problema.
Dos Algoritmos Computacionais
Existem várias formas de representar algoritmos. As principais são:
Revisão
Propriedades
Formas de Representação
Algoritmos são a base dos programas de computador !


Finitude

Definição

Efetividade

Entradas

Saídas
Características
Um algoritmo deve sempre terminar após um número finito de passos.
Cada passo de um algoritmo deve ser precisamente definido. As ações devem básicas, definidas rigorosamente e sem ambiguidades.
Cada passo deve lhe aproximar mais da solução. Passos que não conduzem à solução devem ser eliminados.
Um algoritmo deve ter zero ou mais entradas, isto é dados que são lhe são fornecidos para que o algoritmo seja executado.
Um algoritmo deve ter uma ou mais saídas, isto é informações geradas que têm uma relação específica com as entradas.
Resolução de Problemas
Entendimento do Problema

Passos para a Solução
Execução da Sequência
Verificação da Solução
Para Problemas Computacionais
Entendimento do Problema
Identificação das “Entradas e Saídas do sistema”
Definir passo-a-passo (algoritmo)
Implementar e executar algoritmo
Teste da solução
Identificar as regras e limitações do problema;
Exemplo: Algoritmos de Saque
Do Ponto de Vista de quem saca
Do ponto de vista do banco
Verificar previamente a quantia a ser sacada
Ir até um banco 24 horas
Colocar o cartão
Digitar a senha
Fornecer a quantia desejada
Se saldo for maior ou igual à quantia desejada,
retirar o dinheiro
Retirar o cartão
Sair do banco 24 horas
Enquanto cartão não é inserido
Aguardar inserção do cartão
Mostrar tela de senha
Enquanto senha não é inserida
Aguardar inserção da senha
Se a senha confere com a senha cadastrada
Enquanto valor não é inserido
Aguardar inserção do valor
Se o valor for igual ou inferior ao saldo
Disponibilizar o dinheiro
Senão
Mostrar mensagem de saldo insuficiente
Senão
Mostrar mensagem de senha incorreta
Voltar à tela inicial
Objetivo: transferir os 3 anéis da haste A para B, usando C se necessário.

Regras:
Deve-se mover um único anel por vez
Um anel de diâmetro maior nunca pode repousar sobre um menor
Problema: Torres de Hanoi
Soluções: Torres de Hanoi
Solução 1
Solução 2
Algoritmo para resolver Torres de Hanoi
Início
1. Mover um anel da haste A para a haste C
2. Mover um anel da haste A para a haste B
3. Mover um anel da haste C para a haste B
4. Mover um anel da haste A para a haste C
5. Mover um anel da haste B para a haste C
6. Mover um anel da haste B para a haste A
7. Mover um anel da haste C para a haste A
8. Mover um anel da haste C para a haste B
9. Mover um anel da haste A para a haste C
10. Mover um anel da haste A para a haste B
11. Mover um anel da haste C para a haste B
Fim
Algoritmo para resolver Torres de Hanoi
Início
1. Mover um anel da haste A para a haste B
2. Mover um anel da haste A para a haste C
3. Mover um anel da haste B para a haste C
4. Mover um anel da haste A para a haste B
5. Mover um anel da haste C para a haste A
6. Mover um anel da haste C para a haste B
7. Mover um anel da haste A para a haste B
Fim
O que há de errado com esse algoritmo?
Um escritório de previsão do tempo armazena diariamente a temperatura média de uma determinada região.
Problema: Menor Temperatura
Problema Menor Temperatura
Solução
Pegue a primeira temperatura registrada.
Anote esta temperatura como a menor de todas as temperaturas.
Enquanto ainda houver registros de temperaturas, execute repetidamente, e em ordem, as instruções abaixo:
Pegue a próxima temperatura.
Se esta temperatura for menor que àquela registrada no momento como a menor então jogue fora a anteriormente registrada e anote a nova temperatura como a menor.
Leia a temperatura que está anotada como a menor. Esta é a temperatura que estávamos procurando.
A Base da Programação
Linguagem Natural
Fluxograma
Pseudocódigo
Algoritmos são expressos na linguagem natural que falamos ou escrevemos, como nos exemplos anteriores.
Representação gráfica que emprega formas geométricas padronizadas para indicar as diversas ações e decisões que devem ser executadas para resolver o problema.
É uma linguagem intermediária entre a linguagem natural e as linguagens de programação.
Início do domingo
Acordar.
Tomar o café.
Se estiver sol vou à praia
senão leio o jornal.
Almoçar.
Ir ao cinema.
Fazer uma refeição.
Ir dormir.
Final do domingo
Apresenta a lógica de um algoritmo, enfatizando passos individuais (objetos gráficos) e o fluxo de execução (setas)
Referências
O que são algoritmos? – Adriano Cruz e Jonas Knopman, disponível em <http://equipe.nce.ufrj.br/adriano/algoritmos/apostila/algoritmos.htm>, acesso feito em 16/04/2012.

Wikipedia: Fluxogramas; disponível em <http://pt.wikipedia.org/wiki/Fluxograma>, acesso em 16/04/2012.
Pra Descontrair...
Fluxogramas Divertidos
Algoritmos e a Dança
Algoritmos
Os algoritmos fazem parte do dia-a-dia das pessoas.
Veremos aqui um pouco mais sobre algoritmos para programas de computadores;


Chamaremos estes de agoritmos computacionais.
Algoritmos
Identificar as limitações do computador;
Ou seja, determinar as ações possíveis de serem realizadas pelo computador.
Importante
Algoritmos são a base dos programas de computador;
Um bom algoritmo computacional precisa ser bem definido, finito, efetivo e possuir entradas e saídas.
Das formas de representar os algoritmos três são principais: linguagem natural, fluxograma e pseudocódigo;
Usaremos o pseudocódigo com maior frequência.

Lembrar que temperaturas podem ser negativas ou positivas.
A tarefa é descobrir qual é a menor temperatura já registrada nos arquivos do escritório.
Full transcript