Buscar

aula02_metododeresolucaodeproblemas_leandro

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 47 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 47 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 47 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
Turma: 03
Professor: Leandro Galvão
E‐mail: galvao@icomp.ufam.edu.br
Página: ipc‐t03.weebly.com
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
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.
 Origem da palavra:
 Sobrenome do matemático persa do século IX, Mohamed 
ben Musa Al‐Khwarizmi.
Sequência Ordem Pensar com ordem
Utilizar a 
lógicaSequê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ídas2
Projetar o algoritmo3
Converter o algoritmo em 
linguagem de programação4
Testar solução5
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.
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
Refinar
passo a passo
Identificar o problema
11 • 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?
22 • Definir entradas e saídas
mapa
ladrilho inicial 
do robô
Entradas
robô sobre o 
ladrilho com ponto
Saídas
Problema 1
33 • Projetar o algoritmo
1. Frente
2. Direita
3. Frente
4. Frente
5. Esquerda
Problema 1
44
• Converter o algoritmo em declarações da linguagem de 
programação
Mais tarde neste curso
Problema 1
55 • 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ídas2
Projetar o algoritmo3
Converter o algoritmo em 
linguagem de programação4
Testar solução5
Decompor
Refinar
passo a passo
Identificar o problema
11 • Identificar o problema
Determinar quantos 
carneiros tem cada um dos 
dois pastores X e Y
Problema 2
22 • 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
33 • 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
44
• Converter o algoritmo em declarações da linguagem de 
programação
Mais tarde neste curso
Problema 2
55 • 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
Refinar
passo a passo
Identificar o problema
2 Definir as entradas e as saídas
11 • Identificar o problema
Quantos e quais animais se 
equilibram com o carneiro?
Problema Inicial
22 • Definir entradas e saídas
lobo + carneiro + macaco = porco
porco = 4 lobos
Entradas
2 lobos = 4 macacos
Saídas
carneiro
Problema Inicial33 • 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
44
• Converter o algoritmo em declarações da linguagem de 
programação
Mais tarde neste curso
Problema Inicial
55 • 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
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