49
Turma: Professor: E-mail: Página: Ambiente virtual: IEC037 Introdução à Programação de Computadores Aula 02 – Método de Resolução de Problemas

Turma: Professor: E-mail: Página: Ambiente virtual:

  • 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

Page 1: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

Turma:

Professor:

E-mail:

Página:

Ambiente virtual:

IEC037Introdução à Programação de

ComputadoresAula 02 – Método de Resolução de

Problemas

Page 2: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

Problema Inicial

Qual a resposta da figura abaixo?

Page 3: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

Conteúdo

1. Introdução à lógica

2. Introdução ao método de resolução de

problemas

Page 4: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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

Page 5: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

O que acontece quando não utilizamos a Lógica?

Trabalhos desordenados Complexidade em tarefas simples Retrabalho

Page 6: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

Onde e quando utilizamos a Lógica?

Pensar Falar, argumentar Escrever Proceder corretamente

Page 7: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

Como podemos exercitar?

Exercícios Jogos Programando

Page 8: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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

Page 9: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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 )

Page 10: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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.

Page 11: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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

Page 12: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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

Page 13: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

Conteúdo

1. Introdução à lógica

2. Introdução ao método de resolução de

problemas

Page 14: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

Resolução de problemas

Diariamente, deparamo-nos com os mais variados tipos de

problemas

Page 15: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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

Page 16: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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

Page 17: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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

Page 18: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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

Page 19: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

Resolução de Problemas Algorítmicos1 – Identificar o problema

Em sala de aula: enunciados Fora de sala: necessário identificar

Page 20: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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

Page 21: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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.

Page 22: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

Resolução de Problemas Algorítmicos4 – Converter o algoritmo em declarações

Vocabulário humano

Vocabulário da máquina

Page 23: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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

Page 24: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

Problema 1

Fazer um robô chegar ao ladrilho marcado com um ponto, contornando os obstáculos.

Page 25: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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

Page 26: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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?

Page 27: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

2 •Definir entradas e saídas

mapa

ladrilho inicial do robô

Entradas

robô sobre o ladrilho com ponto

Saídas

Problema 1

Page 28: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

3 •Projetar o algoritmo

1. Frente2. Direita3. Frente4. Frente5. Esquerda

Problema 1

Page 29: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

4 •Converter o algoritmo em declarações da linguagem de programação

Mais tarde neste curso

Problema 1

Page 30: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

5 •Testar o programa resultante

Problema 1

1. Frente2. Direita3. Frente4. Frente5. Esquerda

Page 31: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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?

???

Page 32: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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

Page 33: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

1 •Identificar o problema

Determinar quantos carneiros tem cada um dos dois pastores X e Y

Problema 2

Page 34: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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

Page 35: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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

Page 36: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

4 •Converter o algoritmo em declarações da linguagem de programação

Mais tarde neste curso

Problema 2

Page 37: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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

Page 38: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

Problema Inicial

Qual a resposta da figura abaixo?

Page 39: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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

Page 40: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

1 •Identificar o problema

Quantos e quais animais se equilibram com o carneiro?

Problema Inicial

Page 41: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

2 •Definir entradas e saídas

lobo + carneiro + macaco = porco

porco = 4 lobos

Entradas

2 lobos = 4 macacos

Saídas

carneiro

Problema Inicial

Page 42: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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

Page 43: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

4 •Converter o algoritmo em declarações da linguagem de programação

Mais tarde neste curso

Problema Inicial

Page 44: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

5 •Testar o programa resultante

Problema Inicial

• 5 macacos, ou• 2 lobos e 1 macaco, ou• 1 lobo e 3 macacos.

Page 45: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

Para praticar

Light-Bot | armorgames.com/play/6061/light-bot-20

Page 46: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

Para praticar

Robozzle | www.robozzle.com

Page 47: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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

Page 48: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

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.

Page 49: Turma:  Professor:  E-mail:  Página:  Ambiente virtual:

Dúvidas?