Buscar

Aula02_MetodoDeResolucaoDeProblemas_Elaine

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

IEC037 
Introdução à Programação de Computadores 
Aula 02 – Método de Resolução de 
Problemas 
Turmas: Engenharias Mecânica e de Materiais 
Professora: Elaine Harada Teixeira de Oliveira 
E-mail: elaine@icomp.ufam.edu.br 
Ambiente virtual: http://colabweb.ufam.edu.br 
Curso: 2014/01 Introdução à Programação de Computadores - 
Engenharias Mecânica e de Materiais 
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 = 7 
7 + 2 = 9, etc. 
Logo, 17 + 2 = 19. 
X é 19. 
Exemplo 4 
 E na sequência abaixo? 
12 + 1 = 13 
13 + 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; 
 
Resolução de Problemas Algorítmicos 
Fim 
Início 
1 
Definir as entradas e as 
saídas 2 
Projetar o algoritmo 3 
Converter o algoritmo em 
linguagem de programação 4 
Testar solução 5 
Decompor 
Refinar 
passo a passo 
Identificar o problema 
Resolução de Problemas Algorítmicos 
1 – 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ítmicos 
2 – Definir Entradas e Saídas 
? Entradas Saídas 
Resolução de Problemas Algorítmicos 
3 – 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ítmicos 
4 – Converter o algoritmo em declarações 
Vocabulário 
humano 
Vocabulário 
da máquina 
Resolução de Problemas Algorítmicos 
5 – 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. 
Comandos disponíveis: 
1. Frente 
2. Trás 
3. Direita 
4. Esquerda 
Processo de resolução de problemas 
algorítmicos 
Fim 
Início 
1 
Definir as entradas e as 
saídas 2 
Projetar o algoritmo 3 
Converter o algoritmo em 
linguagem de programação 4 
Testar solução 5 
Decompor 
Refinar 
passo 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. Frente 
2. Direita 
3. Frente 
4. Frente 
5. 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. Frente 
2. Direita 
3. Frente 
4. Frente 
5. 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ídas 2 
Projetar o algoritmo 3 
Converter o algoritmo em 
linguagem de programação 4 
Testar solução 5 
Decompor 
Refinar 
passo 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 umde 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 algoritmo 3 
Converter o algoritmo em 
linguagem de programação 4 
Testar solução 5 
Decompor 
Refinar 
passo 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 macacos 
Substituir lobos em Equação 2 → porco = 8 macacos 
Substituir lobo e porco na Equação 1 → carneiro = 5 macacos 
Guardar o resultado em carneiro 
Apresentar 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 
 code.org| code.org 
Para praticar 
 RoboMind| www.robomind.net/pt/ 
Para praticar 
 Light-Bot | light-bot.com 
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?

Outros materiais