Upload
hue
View
22
Download
0
Embed Size (px)
DESCRIPTION
IEC037 Introdução à Programação de Computadores Aula 02 – Método de Resolução de Problemas. Turma: Professor: E-mail: Página: Ambiente virtual:. Problema Inicial. Qual a resposta da figura abaixo?. Conteúdo. Lógica. Arte do bem pensar - PowerPoint PPT Presentation
Citation preview
Turma:
Professor:
E-mail:
Página:
Ambiente virtual:
IEC037Introdução à Programação de
ComputadoresAula 02 – Método de Resolução de
Problemas
Problema Inicial
Qual a resposta da figura abaixo?
Conteúdo
1. Introdução à lógica
2. Introdução ao método de resolução de
problemas
Lógica
Arte do bem pensar Vem do grego logos, que significa “linguagem-
discurso e pensamento-conhecimento” Estuda e ensina a colocar “ordem no pensamento” Normalmente associada à Matemática, mas é uma
ferramenta das demais ciências
O que acontece quando não utilizamos a Lógica?
Trabalhos desordenados Complexidade em tarefas simples Retrabalho
Onde e quando utilizamos a Lógica?
Pensar Falar, argumentar Escrever Proceder corretamente
Como podemos exercitar?
Exercícios Jogos Programando
Exemplo 1
Rosa é mãe de Ana Paula é filha de Rosa Júlia é filha de Ana Logo, Júlia é neta de
Rosa e sobrinha de Paula.
Rosa
Ana Paula
Júlia
Exemplo 2
Todo mamífero é animal. Todo cavalo é mamífero. Logo, todo cavalo é animal.
Todo que bebe leite é mamífero. Seres humanos bebem leite. Logo, todo ser humano é mamífero.
(e é animal, mas não um cavalo )
Exemplo 3
5 7 9 11 13 15 17 X
Qual o valor de X na sequência abaixo?
5 + 2 = 77 + 2 = 9, etc.
Logo, 17 + 2 = 19.X é 19.
Exemplo 4
E na sequência abaixo?
12 + 1 = 1313 + 2 = 15
15 + 3 = 18, etc.Logo, 33 + 7 = 40.
X é 40.
12 13 15 18 22 27 33 X
Um caracol quer subir um poste de 10m de altura. Durante o dia, sobe 2m. À noite, escorrega 1m. Em quanto tempo atingirá o topo do poste?
Qual o dobro da metade de 2? Um quarto tem 4 cantos, cada canto tem 1 gato, cada gato vê 3 gatos,
quantos gatos tem na sala? O pai do padre é filho do meu pai. O que eu sou do padre? Um avião lotado de passageiros parte do Rio de Janeiro em direção a
Buenos Aires. Por uma fatalidade cai na fronteira Brasil-Argentina. Onde serão enterrados os sobreviventes?
Dois pais e dois filhos entraram em um bar e pediram três refrigerantes, cada um tomou uma garrafa inteira, ou seja, nenhum deles deixou de beber seu refrigerante. Como isso foi possível?
Exercícios
Conteúdo
1. Introdução à lógica
2. Introdução ao método de resolução de
problemas
Resolução de problemas
Diariamente, deparamo-nos com os mais variados tipos de
problemas
Heurísticos Não podem ser
resolvidos através de uma série direta de ações
Exemplos: Expandir uma empresa Tornar um quadro
‘bonito’ Convocar jogadores de
futebol para a seleção
Algorítmicos Podem ser resolvidos
com uma série de ações
Exemplos: Fazer um bolo Pagar contas vencidas Controlar a
temperatura de um ambiente fechado
Tipos de problemas
Algoritmo
Uma sequência finita e ordenada de passos sem ambiguidade que leva à resolução de um problema em um tempo finito.
Origem da palavra: Sobrenome do matemático persa do século IX, Mohamed
ben Musa Al-Khowarizmi.
Sequência Ordem Pensar com ordem
Utilizar a lógica
Objetivo
Algoritmo
Pode haver várias soluções para um mesmo problema → pode haver vários algoritmos Todos devem chegar ao
resultado (objetivo) desejado de forma correta;
Uns algoritmos podem ser mais rápidos e outros mais seguros;
Algoritmo 1
Algoritmo 2
Algoritmo 3
Algoritmo 4
Resolução de Problemas Algorítmicos
Fim
Início
1
Definir as entradas e as saídas2
Projetar o algoritmo3
Converter o algoritmo em linguagem de programação4
Testar solução5
Decompor
Refinarpasso a passo
Identificar o problema
Resolução de Problemas Algorítmicos1 – Identificar o problema
Em sala de aula: enunciados Fora de sala: necessário identificar
Entradas: Todos os recursos e informações que o sistema precisa para chegar ao seu objetivo.
Saída: o resultado esperado pelo sistema. Processamento: tratamento dado à entrada visando
chegar ao objetivo final (saída).
Resolução de Problemas Algorítmicos2 – Definir Entradas e Saídas
?Entradas Saídas
Resolução de Problemas Algorítmicos3 – Projetar o algoritmo
Você já resolveu um problema similar? Analogia – enunciado diferente, mas estrutura de solução
é semelhante. Generalização – solução particular é conhecida, mas
deseja-se uma solução geral. Especialização – conhece-se a solução geral, que serve de
base para uma particular. Decomposição – se o problema é complicado, pode ser
quebrado em partes menores. Redução – Se um problema é difícil, tente resolver um mais
simples.
Resolução de Problemas Algorítmicos4 – Converter o algoritmo em declarações
Vocabulário humano
Vocabulário da máquina
Resolução de Problemas Algorítmicos5 – Testar o programa resultante
Teste o algoritmo com diversos dados de entrada e verifique os resultados.
Sem resultados? verifique problema de sintaxe
Há resultados? verifique se estão corretos
Resultados incorretos?
verifique as condições, operações ou ordem dos passos
Conjunto de regras que determinam a ordem e as relações das palavras na frase
Problema 1
Fazer um robô chegar ao ladrilho marcado com um ponto, contornando os obstáculos.
Processo de resolução de problemas algorítmicos
Fim
Início
1
Definir as entradas e as saídas2
Projetar o algoritmo3
Converter o algoritmo em linguagem de programação4
Testar solução5
Decompor
Refinarpasso a passo
Identificar o problema
1 •Identificar o problema
Problema 1
Robô deve ser guiado a um ladrilho indicado. Robô não pode ocupar o mesmo ladrilho que
contém uma caixa. Robô não pode atravessar as paredes do mapa. Quais os movimentos que o robô pode fazer?
2 •Definir entradas e saídas
mapa
ladrilho inicial do robô
Entradas
robô sobre o ladrilho com ponto
Saídas
Problema 1
3 •Projetar o algoritmo
1. Frente2. Direita3. Frente4. Frente5. Esquerda
Problema 1
4 •Converter o algoritmo em declarações da linguagem de programação
Mais tarde neste curso
Problema 1
5 •Testar o programa resultante
Problema 1
1. Frente2. Direita3. Frente4. Frente5. Esquerda
Problema 2
Um pastor diz para outro: “Dê-me um de seus carneiros que ficamos com igual número de carneiros.”
O outro responde: “Nada disso, dê-me um de seus carneiros que ficarei com o dobro dos seus”.
Quantos carneiros têm cada um?
???
Processo de resolução de problemas algorítmicos
Fim
Início
1
Definir as entradas e as saídas2
Projetar o algoritmo3
Converter o algoritmo em linguagem de programação4
Testar solução5
Decompor
Refinarpasso a passo
Identificar o problema
1 •Identificar o problema
Determinar quantos carneiros tem cada um dos dois pastores X e Y
Problema 2
2 •Definir entradas e saídas
Entradas
X
Saídas
Y
Problema 2
X + 1 = Y – 1
Dê-me um de seus carneiros que ficamos com igual número de carneiros
Y + 1 = 2(X – 1)
Dê-me um de seus carneiros que ficarei com o dobro dos seus
3 •Projetar o algoritmo
1. Isolar o X na primeira equação X = Y – 2
2. Substituir X na segunda equação 2((Y – 2) – 1) = Y + 1
3. Encontrar o valor de Y Y = 7
4. Substituir Y na primeira equação X + 1 = 7 – 1
5. Encontrar o valor de X X = 5
6. Apresentar X e Y X = 5 e Y = 7
Problema 2
4 •Converter o algoritmo em declarações da linguagem de programação
Mais tarde neste curso
Problema 2
5 •Testar o programa resultante
Problema 2
X + 1 = Y – 1
Y + 1 = 2(X – 1)
5 + 1 = 7 – 1
7 + 1 = 2(5 – 1)
X = 5 e Y = 7
Problema Inicial
Qual a resposta da figura abaixo?
Processo de resolução de problemas algorítmicos
Fim
Início
1
Projetar o algoritmo3
Converter o algoritmo em linguagem de programação4
Testar solução5
Decompor
Refinarpasso a passo
Identificar o problema
2 Definir as entradas e as saídas
1 •Identificar o problema
Quantos e quais animais se equilibram com o carneiro?
Problema Inicial
2 •Definir entradas e saídas
lobo + carneiro + macaco = porco
porco = 4 lobos
Entradas
2 lobos = 4 macacos
Saídas
carneiro
Problema Inicial
3 •Projetar o algoritmo
lobo + carneiro + macaco = porco (Equação 1)porco = 4 lobos (Equação 2)2 lobos = 4 macacos (Equação 3)
Problema Inicial
Isolar lobos em Equação 3 → lobo = 2 macacosSubstituir lobos em Equação 2 → porco = 8 macacosSubstituir lobo e porco na Equação 1 → carneiro = 5 macacosGuardar o resultado em carneiroApresentar carneiro
4 •Converter o algoritmo em declarações da linguagem de programação
Mais tarde neste curso
Problema Inicial
5 •Testar o programa resultante
Problema Inicial
• 5 macacos, ou• 2 lobos e 1 macaco, ou• 1 lobo e 3 macacos.
Para praticar
Light-Bot | armorgames.com/play/6061/light-bot-20
Para praticar
Robozzle | www.robozzle.com
1. Usando uma jangada, um camponês precisa atravessar uma cabra, um leão e um fardo de capim para a outra margem do rio. A jangada só tem lugar para ele e mais uma de suas três cargas. O que ele deve fazer para atravessar o rio com seus pertences intactos?
2. Uma garota tem a mesma quantidade de irmãs e de irmãos. Mas cada irmão tem o dobro de irmãs em relação ao número de irmãos. Há quantos irmãos e irmãs nessa família? Explique.
3. Um pai de 80kg e suas 2 filhas (40kg cada) precisam sair de uma ilha com um barco. Porém, a capacidade do barco é de 80kg. Como farão para sair da ilha?
Exercícios
Referências bibliográficas
Menezes, Nilo Ney Coutinho (2010). Introdução à Programação com Python. Editora Novatec.
Farrer, Harry (2011). Algoritmos Estruturados, 3ª edição. Editora LTC.
Forbellone, A. L. V.; Eberspächer, H. F. (2006) Lógica de Programação, 3ª edição. Pearson.
HETLAND, Magnus Lie (2008). Beginning Python: From Novice to Professional. Springer eBooks, 2ª edição. Disponível em: http://dx.doi.org/10.1007/978-1-4302-0634-7.
Dúvidas?