3. Problema = Objeto Matemátco
P = < D, R, c >
D
Dados
R
Resultados
possíveis
c
Condição
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação3
possíveis
c = Relação binária caracteriza uma solução
satisfatória, associando a cada elemento do conjunto
de dados a Solução única desejada.
4. Problema : Exemplo
• P = problema de diagnóstico médico
• O conjunto de dados disponível d ∈∈∈∈ D, onde d
são os dados do paciente (observação da anamnese,
sintomas, resultados de laboratório, etc) que pertencemque pertencem
ao conjunto D de dados possíveis.
• R é o conjunto de doenças possíveis.
• A condição que caracteriza uma solução
satisfatória consiste em encontrar o par <d, r>
onde r ∈∈∈∈ R é o diagnóstico desejado.
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação4
5. Como Definir um Problema?
• Enumeração exaustiva: procurar todos os pares <dado,
resultado>
– Só se aplica no caso que o conjunto de dados é finito
– Exemplo: agenda de telefones (associa telefone a cada
nome)
• Declarativamente: dar propriedades que devem ser
satisfeitas pela solução do problema.satisfeitas pela solução do problema.
– Exemplo: Dado um número real, associa dois números cuja
soma de seus quadrados é igual ao número real dado
• Por um algoritmo: (sequência de passos a serem
realizados por um programa de computador) define
correspondência entre dados e resultados sempre que
ele pára conseguindo chegar a uma solução.
– Exemplo: Formulário de Imposto de Renda
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação5
6. … Por um algoritmo
• Impossível saber se o programa pára a
solução é não computável.
Programa constante:
Leia xLeia x
Enquanto x ≠ 10 faça
x x + 1
Mostre na tela o valor de x
Fim
• PROBLEMAS?!
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação6
Se o valor lido de x for
maior do que 10, o
programa não vai parar.
7. Problemas…
•Problemas são fáceis e difíceis
•Entender o problema é problema
•Nem todo problema tem solução
•Problemas de hoje não têm uma
solução simples e única
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação7
8. Problemas de hoje
não tem uma
solução simples e
única
Solução de
Problemas
através da
Computação
Ênfase deve estar
no processo e não
na solução
através da
Computação
1,2,3
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação8
9. Solução de
Problemas
através da
Computação
Ênfase deve
estar no
processo e não
na solução
Problemas de
hoje não tem
uma solução
simples e única
Buscar a melhor solução (dentre várias)
para problemas de inúmeras áreas
(exatas, sociais, biológicas, etc)
Computação
1,2,3
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação9
10. Solução de Problemas através da Computação
AMBIENTE
Estudantes
confortáveis
com o trabalho
em grupo
Múltiplas
Alternativas
valorizadas e
encorajadas
Falhar = parte
do processo
para encontrar
a Solução
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação10
11. Solução de Problemas através da Computação
ESTUDANTES IRÃO APRENDER
Aplicar Criar novos
Pensar
abstratamente
Aplicar
algoritmos
conhecidos
onde
apropriado
Criar novos
algoritmos
para
problemas
complexos
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação11
12. Três maneiras de resolver problemas
1. Solução em N Passos
2. Solução em algoritmos
3. Solução em 4 Passos
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação12
13. 1. Solução de Problemas em N passos
• Coleta de Dados
• Análise de Dados
• Representação de Dados
• Decomposição de ProblemaDecomposição de Problema
• Abstração
• Algoritmos & Procedimentos
• Automação
• Otimização através da paralelização
• Simulação
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação13 Fonte: CSTA & ISTE. Computational Thinking across the Curriculum. 2009.
14. Solução de Problemas em N passos
MATEMÁTICA
Coleta de Dados Encontrar uma fonte de dados para uma área de problemas, por exemplo,
cara ou coroa e jogo de dados
Análise de Dados Contar ocorrências de cara ou coroa e jogo de dados, e analisar os
resultados
Representação de
Dados
Usar histograma, gráfico de pizza, gráfico de barras para representar dados;
usar conjuntos, listas, grafos, etc para conter dados
Decomposição de
Problema
Aplicar ordem de operações em uma expressão
Problema
Abstração Usar variáveis em Álgebra; identificar fatos essenciais em um problema com
palavras; estudar funções em álgebra comparadas às funções em
programação; usar iteração para resolver problemas de palavras
Algoritmos &
Procedimentos
Fazer divisões ou fatorações longas
Automação Usar ferramentas tais como: Geometer Sketch Pad, Star Logo, Python
Paralelização Resolver sistemas lineares; fazer multiplicação de matrizes
Simulação Plotar uma função no plano cartesiano e modificar valores das variáveis
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação14
15. Solução de Problemas em N passos
CIÊNCIAS
Coleta de Dados
Coletar dados de um experimento
Análise de Dados
Analisar dados de um experimento
Representação de
Dados
Resumir dados de um experimento
Decomposição de
Problema
Fazer a classificação de espécies
Abstração
Construir um modelo de uma entidade física
Algoritmos &
Procedimentos
Fazer um procedimento experimental
Automação
Usar Probeware
Paralelização
Rodar experimentos simultaneamente com
parâmetros diferentes
Simulação
Simular movimento de um sistema solar
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação15
16. Solução de Problemas em N passos
ESTUDOS SOCIAIS
Coleta de Dados Estudar estatísticas de dados de batalhas ou
populações
Análise de Dados Identificar tendências em dados a partir das
estatísticas
Representação de
Dados
Resumir e representar tendências
Dados
Decomposição de
Problema
Abstração Resumir fatos; deduzir conclusões a partir de fatos
Algoritmos &
Procedimentos
Automação Usar Excel
Paralelização
Simulação Jogar Age of Empires; Oregon Trail
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação16
17. Solução de Problemas em N passos
LETRAS E ARTES
Coleta de Dados Fazer análise linguística de sentenças
Análise de Dados Identificar padrões para diferentes tipos de
sentenças
Representação de
Dados
Representar padrões de diferntes tipos de sentenças
Decomposição de Escrever um sumárioDecomposição de
Problema
Escrever um sumário
Abstração Usar semelhanças ou metáforas; escrever histórias
com bifurcações
Algoritmos &
Procedimentos
Escrever instruções
Automação Usar um corretor ortográfico
Paralelização Traduzir parágrafos de texto simultaneamente
Simulação Fazer a encenação de uma história
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação17
18. 2. Solução em Algoritmos
• Quando as ações de um algoritmo obedecem à sintaxe de
uma linguagem de programação, passamos a chamá-lo de
programa.
• Qualidades de um bom algoritmo
– Perfeitamente Definido: descreve exatamente as instruções a
serem executadas e em que seqüência (a falta de alguma
informação pode levar a uma interpretação errônea doinformação pode levar a uma interpretação errônea do
algoritmo)
– Não Ambíguo
– Eficaz: consegue resolver o problema em qualquer situação.
Situações de exceção que possam alterar o resultado do
algoritmo devem ser descritas e tratadas.
– Eficiente: resolve o problema com o mínimo de recursos. No
caso de algoritmos para processamento de dados, os recursos a
serem considerados são espaço na memória, tempo de
processamento, entre outros.
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação18
Fonte: Glauco Amorim. Programação para Iniciantes. 2009.
19. Algoritmo
• Três maneiras básicas de definir algoritmo
– Descrição narrativa
– Fluxograma
– Pseudo-código (portugol) conceitos mais
avançados que podem ser deixados para estudaravançados que podem ser deixados para estudar
quando for aprender uma linguagem de
programação
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação19
20. Algoritmo: Descrição Narrativa
algoritmo lavar_cabelo
1. Molhe o cabelo
2. Coloque o xampu
3. Massageie • não está definido quanto de
xampu deve ser colocado;4. Enxágue
5. Repita
• PROBLEMAS?!
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação20
xampu deve ser colocado;
• não diz quanto tempo deve
massagear;
• não diz quando paramos a
repetição;
• não diz até quando enxaguar.
21. Algoritmo: Descrição Narrativa
algoritmo lavar_cabelo_versão_melhorada
1. molhe o cabelo
2. repita duas vezes:
2.1. coloque a quantidade correspondente a2.1. coloque a quantidade correspondente a
uma tampa de xampu no cabelo
2.2. massageie o cabelo até fazer espuma
2.3. enxágue até tirar o xampu
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação21
23. • Problema: questão proposta a ser resolvida.
• Análise Preliminar: entender o problema
com a maior precisão possível e identificar
os dados. Identificar os resultados
desejados.
• Solução: desenvolver um algoritmo para
resolver o problema.
• Teste de Qualidade: execute o algoritmo
desenvolvido com dados para os quais o
resultado seja conhecido. O ideal é que o
universo dos dados tenha todas asuniverso dos dados tenha todas as
combinações possíveis (a qualidade de um
algoritmo pode ser limitada por fatores
como o tempo para a sua confecção e
recursos disponíveis).
• Alteração: se o resultado do teste não for
satisfatório, altere o algoritmo e submeta-o
a um novo teste de qualidade.
• Produto Final: algoritmo concluído e
testado, pronto para ser aplicado.
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação23
24. 3. Solução de Problemas em 4 Passos
A. Entender o problema [próximos slides]
Ler ou escutar a definição do problema.
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação24
25. A. Entender o problema
Estratégias
• 5 Por quês. Começar com um por quê; após a
resposta, perguntar novamente (5 vezes).
– Ajuda a rapidamente determinar a causa principal do
problema
– É simples, fácil de aprender e aplicar– É simples, fácil de aprender e aplicar
• Apreciação. Similar à anterior, consiste em
perguntar repetidamente “E então?” para se ter
uma ideia das causas e efeitos
• Análise da causa principal. Dividido em 4 partes:
definir o problema, coletar dados, identificar
possíveis fatores que causam o problema (com
base nos dados), identificar a(s) causa(s) central
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação25 Fonte: http://www.mindtools.com/pages/article/newTMC_00.htm
26. Entender o problema:
grafo de causa e efeito
• Identifique o problema central
Filial
Não Coopera
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação26
27. Entender o problema:
grafo de causa e efeito
• Identifique o problema central
• Identifique os fatores principais
Filial
Não Coopera
• Identifique os fatores principais
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação27
Filial
Não Coopera
28. Entender o problema:
grafo de causa e efeito
• Identifique possíveis causas
Filial
Não Coopera Razoavelmente
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação28
Não Coopera Razoavelmente
Moderno
Email for a do ar
às vezes
29. Entender o problema:
grafo de causa e efeito
• Identifique os fatores principais
Filial
João
Maria
contagioso?
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação29
Filial
Não Coopera
João
Razoavelmente
Moderno
Email for a do ar
às vezes
30. Entender o problema:
Fluxo de Dados
INÍCIO
Responder
Telefonema
Como posso
ajudá-lo?
Qual é oPegar nome e
Info sobre produto
ou ajuda com compra
Entrega de
Produto
Cobrança
Indevida
Outro
10.fevereiro.201230
Qual é o
problema?
Pegar nome e
empresa
Transferir para
Vendas (ext 2203)
FIM
Pegar nome e
empresa
Transferir para
HelpDesk (ext 2217)
FIM
Produto Indevida
Problema c/
Produto?
31. Solução de Problemas em 4 Passos
A. Entender o problema
Ler ou escutar a definição do problema.
B. Fazer um plano para resolver o problema
Utilizar figuras, gráficos, grafos, listas, objetos
Definir um algoritmo [já visto]
Pode-se definir várias alternativas neste passo.Pode-se definir várias alternativas neste passo.
Deve-se então avaliá-las e escolher apenas uma.
C. Realizar o plano
Uma vez que o plano esteja definido e entendido, deve-
se segui-lo. Se o plano foi bem feito, esta é a parte fácil.
D. Revisar e refletir sobre a solução adotada
Uma vez que o problema esteja resolvido, refletir sobre
como o mesmo foi utilizado.
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação31 Fonte: Joanna Goode, Gail Chapman. Exploring Computer Science. 2011.
32. ATIVIDADES EXEMPLO
SOLUÇÃO EM 4 PARTES
A. Entender o problema
B. Fazer um plano para resolver o problema
C. Realizar o planoC. Realizar o plano
D. Revisar e refletir sobre a solução adotada
10.fevereiro.2012Reinventando o Ensino Médio - Tecnologia da Informação32