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 - Conceitos Iniciais

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

Karla de Souza

on 23 April 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Algoritmos - Conceitos Iniciais

Resolvendo Problemas
Conclusão
Como você resolve problemas?
Método de Polya; disponível em <http://pt.scribd.com/doc/7215179/Metodo-de-Polya>, acesso em 21/03/2012.

G. Polya, "How to Solve It", 2nd ed., Princeton University Press, 1957.

Wikipedia: Abstração; disponível em <http://pt.wikipedia.org/wiki/Abstra%C3%A7%C3%A3o>, acesso em 26/03/2012.
Referências
Estamos aqui para resolver problemas!
Problemas fazem e sempre fizeram parte da nossa vida.
Segundo George Polya, 1945
Na Resolução de Problemas
Conceitos Iniciais
A Resolução de (Quaisquer) Problemas
O Computador como Ferramenta
Desde os primórdios, o ser humano vem tentando resolver seus problemas com maior rapidez e menor esforço.
História
Iniciou no século XX e o Mundo nunca mais foi o mesmo
A Revolução Computacional
A capacidade em resolver problemas é inerente ao ser humano, e os desafios motivam a nossa evolução.
História
A maioria não.
Alguns dos nossos problemas podem ser resolvidos com auxílio de ferramentas
1) Compreenda o Problema
Passos para a Solução
É natural que se façam várias tentativas até obter uma solução adequada.
Importante
Quais são os dados?
Não avance enquanto não compreender bem o problema...
... invista aqui o tempo que for necessário!
Essa é a etapa mais importante!
Faça um esquema se possível
Ponha seu plano em prática!
Verifique se a solução obtida satisfaz o problema
É chamada de Algoritmo!
Nosso objetivo é aprender a programar computadores para resolver esses problemas.
O problema deve ser bem entendido
Para usar o computador como ferramenta
Mesmo para os problemas computacionais, o computador só é fundamental nessa etapa.
Chamaremos estes de
problemas computacionais
Existe uma porção de problemas que podem ser resolvidos (muito) mais facilmente usando o computador
Precisamos também de "abstração": identificar o que é essencial ao problema.
A abstração é essencial nessa etapa, ou seja, na elaboração dos passos de nosso algoritmo.
Sequência finita e bem definida de passos que, quando executados, realizam uma tarefa ou resolvem um problema.
Algoritmos
Algoritmos são transformados em programas quando escritos em uma linguagem de programação.
Também chamada de "implementação" do algoritmo.
O estudo e a criação de algoritmos que gerem programas
efetivos
e
eficientes
é chamada de Lógica de Programação.
Na Computação
Nosso curso!
Algoritmos no dia a dia
Receita de Bolo
Instruções de montagem
Processamento
1) Para o problema "Ir da escola até minha casa", identifique o que seria:
A Compreensão do Problema:
A criação da sequência de passos para a solução
A Execução da sequência
A Verificação da solução

2) Elabore a sequência de passos necessária identificando a abstração necessária.
Exercícios
Por exemplo, ao ensinar um exercício de matemática ao colega você 'abstrai' coisas (ou seja omite detalhes) como 'pegue o lápis, coloque a ponta no papel e pressione para riscar";
As tarefas devem se pensadas anteriormente e devem ser colocadas em uma sequência lógica de ações simples
Para a execução, o algoritmo deve ser implementado em uma linguagem de programação para então transformado em linguagem de máquina
A solução deve ser testada para verificar sua adequação
A resolução de quaisquer problemas deve ser feita em 4 etapas: compreensão do problema, sequencia de passos para a solução, execução da sequencia e teste da solução.
Resolveremos problemas computacionais usando a lógica de programação para criarmos bons algoritmos;

Usaremos uma pseudo-linguagem para 'implementar' nossos algoritmos e futuramente estes serão implementados em uma linguagem de programação.
Por isso, se um problema "correr mal", não desista, arranje outra estratégia para o resolver.
2) Elabore a sequencia de passos para a solução
3) Execute a sequencia
4) Verifique a solução
Quais são as restrições?
O que se pretende?
Quais são as incógnitas?
Descreva a estratégia a usar
Se não conseguir resolver o problema proposto, resolva um equivalente mais simples e depois generalize
Passo a Passo para a Solução
Compreender o Problema
Verificando a Solução

Verifique se é a melhor solução possível
Solução
EFETIVA
Solução
EFICIENTE
Conceito de Abstração
Você diz simplesmente, 'multiplique x por y', por exemplo.
Já para o computador, a abstração deve ser mais baixa, ou seja, você precisa fornecer um maior nível de detalhes.
Você vai ter de dizer algo como ' chame de x um espaço de memória que caiba um valor inteiro, chame de y outro espaço de memória que caiba um inteiro, chame de res outro espaço de memória que caiba um inteiro, receba o valor de x, armazene no espaço de memória chamado de x, receba o valor de y, armazene no espaço de memória chamado de y, multiplique x por y e armazene o resultado no espaço de memória chamado de res'
Conclusões
Full transcript