turma: professor: e-mail: página: ambiente virtual:
DESCRIPTION
IEC037 Introdução à Programação de Computadores Aula 04 – Estratégias para resolução de problemas. Turma: Professor: E-mail: Página: Ambiente virtual:. Problema inicial. Quantas notas de R$50 , de R$10 e de R$2 devem ser entregues durante um saque no caixa eletrônico? - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/1.jpg)
Turma:
Professor:
E-mail:
Página:
Ambiente virtual:
IEC037Introdução à Programação de Computadores
Aula 04 – Estratégias para resolução de problemas
![Page 2: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/2.jpg)
Problema inicial
Quantas notas de R$50, de R$10 e de R$2 devem ser entregues durante um saque no caixa eletrônico?
Supor que apenas valores pares são permitidos.
![Page 3: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/3.jpg)
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 4: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/4.jpg)
Estratégias para resolução de problemas
Não existe um algoritmo para projetar algoritmos.
Mas podemos lançar mão de algumas estratégias para resolver problemas por meio de algoritmos.
![Page 5: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/5.jpg)
Problema 1
Quero saber a duração de um filme, mas o site do cinema só me dá a informação em minutos.
Como determinar a duração do filme em horas e minutos?
![Page 6: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/6.jpg)
Problema 1:: Definir Entradas e Saídas
Grandeza Unidade de medida Faixa de valores
Entradas
Saídas
Grandeza Unidade de medida Faixa de valores
Entradas Duração minutos ≥ 0
SaídasDuração em horas horas ≥ 0
Duração em minutos minutos [0; 59]
![Page 7: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/7.jpg)
Estratégia 1:: Experimente alguns números
89 minutos 1 h 29 min
129 minutos 2 h 9 min
ENTRADA SAÍDA
A saída é dada pelo quociente e resto da
divisão por 60
!
![Page 8: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/8.jpg)
Problema 1:: Solução
início
Ler duração
horas ← duração // 60
minutos ← duração % 60
Exibir horasExibir minutos
fim
Operador de resto da divisão inteira
![Page 9: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/9.jpg)
Problema 1:: Testar Solução
início
Ler duração
horas ← duração // 60
minutos ← duração % 60
Exibir horasExibir minutos
fim
3 h 21 min201 min
O Senhor dos Anéis – O Retorno do Rei
0 h 4 min4 min
Gangnam Style
![Page 10: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/10.jpg)
Problema 2
Uma pessoa vai de Manaus a Iranduba em um barco a remo. Se ela rema a uma velocidade constante de 3 km/h perpendicularmente às margens e a velocidade do rio é de 4 km/h, qual a velocidade escalar do barco?
![Page 11: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/11.jpg)
Problema 2:: Definir Entradas e Saídas
Grandeza Unidade de medida Faixa de valores
Entradas
Saídas
Grandeza Unidade de medida Faixa de valores
EntradasVelocidade do rio km/h ≥ 0
Velocidade do barco km/h ≥ 0
Saídas Velocidade resultante km/h ≥ 0
![Page 12: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/12.jpg)
Estratégia 2:: Faça uma figura
Velocidade do rio
Velocidadedo barco
Velocidade resultante
Iranduba
Manaus
![Page 13: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/13.jpg)
Problema 2:: Solução
início
Ler V_barcoLer V_rio
V_res ← (V_barco ** 2 + V_rio ** 2) ** 0,5
Exibir V_res
fim
![Page 14: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/14.jpg)
Problema 2:: Testar Solução
início
Ler V_barcoLer V_rio
V_res ← (V_barco ** 2 + V_rio ** 2) ** 0,5
Exibir V_res
fim
V_barco = 5 km/hV_rio = 12 km/h 13 km/h
V_barco = 3 km/hV_rio = 4 km/h 5 km/h
![Page 15: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/15.jpg)
Problema 3
Um campeonato de futebol é disputado por 64 times. Se todas as partidas são eliminatórias, quantas partidas têm de ser disputadas para que seja conhecido o campeão?
![Page 16: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/16.jpg)
Problema 3:: Definir Entradas e Saídas
Grandeza Unidade de medida Faixa de valores
Entradas
Saídas
Grandeza Unidade de medida Faixa de valores
Entradas Nº de times Times ≥ 2
Saídas Nº de partidas Partidas ≥ 1
![Page 17: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/17.jpg)
Estratégia 3:: Trabalhe para frente e para trás
64 times
1ª rodada 32 jogos
2ª rodada 16 jogos
3ª rodada 8 jogos
4ª rodada 4 jogos
5ª rodada 2 jogos
6ª rodada 1 jogo
TOTAL: 63 jogos
Encadeamento para frente
![Page 18: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/18.jpg)
Estratégia 3:: Trabalhe para a frente e para trás
Encadeamento para trás
No final do torneio com N times há:• 1 time vencedor• N-1 times perdedores
Para cada time perdedor, deve haver necessariamente uma partida.
São disputadas N-1 partidas.
![Page 19: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/19.jpg)
Problema 3:: Compare as soluções
início
Ler N
N ← N / 2
Somar N parciais até que N=1
Exibir Soma
fim
Encadeamento para frente Encadeamento para trás
início
Ler N
Partidas ← N-1
Exibir Partidas
fim
!?
![Page 20: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/20.jpg)
Problema 4
Uma fábrica de arruelas precisa calcular o custo de envio de um conjunto de unidades.
As especificações de cada arruela são: diâmetro interno, diâmetro externo, espessura, densidade, unidades a enviar, custo do frete por peso.
![Page 21: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/21.jpg)
Estratégia 4:: Divida para conquistar
Consiste em dividir um problema complexo em partes independentes, cujas soluções são mais simples.
1. Calcular área da superfície da arruela2. Calcular volume (área × espessura)3. Calcular massa de uma arruela (volume × densidade)4. Calcular massa total (massa × unidades)5. Calcular custo (massa total × frete)
![Page 22: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/22.jpg)
Problema 4:: Definir Entradas e Saídas
Grandeza Unidade de medida Faixa de valores
Entradas
Saídas
Grandeza Unidade de medida Faixa de valores
Entradas
Diâmetro interno m > 0
Diâmetro externo m > 0
Espessura m > 0
Densidade kg/m3 > 0
Unidades a enviar Arruelas > 0
Frete R$/kg > 0
Saídas Custo R$ > 0
![Page 23: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/23.jpg)
Problema 41. Área da superfície da arruela
𝐴𝑖𝑛𝑡=𝜋 (𝑑𝑖𝑛𝑡
2 )2
𝐴𝑒𝑥𝑡=𝜋 (𝑑𝑒𝑥𝑡
2 )2
𝐴=𝐴𝑒𝑥𝑡−𝐴𝑖𝑛𝑡
início
Ler d_intLer d_ext
A_int ← pi * (d_int/2) ** 2
A_ext ← pi * (d_ext/2) ** 2
A ← A_ext - A_int
1
Conectores indicam quebra ou continuação do fluxograma.
São identificados por números.
pi ← 3,1415
𝑑𝑖𝑛𝑡𝑑𝑒𝑥 𝑡
![Page 24: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/24.jpg)
Problema 4:: Solução
1
Ler espessura
Vol ← A * espessura
2
2. Volume da arruela 3. Massa de uma arruela
2
Ler densidade
M ← Vol * densidade
3
![Page 25: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/25.jpg)
Problema 4:: Solução
3
Ler qtde
M_total ← M * qtde
4
4. Massa total 5. Custo total
4
Ler frete
custo ← M_total * frete
fim
Exibir custo
![Page 26: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/26.jpg)
Problema 4:: Juntando tudo
3
Ler qtdeLer frete
M_total ← M * qtde
custo ← M_total * frete
fim
Exibir custo
início
Ler d_intLer d_ext
A_int ← pi * (d_int/2) ** 2
A_ext ← pi * (d_ext/2) ** 2
A ← A_ext - A_int
1
pi ← 3,1415
1
Ler espessuraLer densidade
Vol ← A * espessura
M ← Vol * densidade
2
![Page 27: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/27.jpg)
Problema 5
Elaborar um fluxograma que leia dois valores x e y, troque os valores entre si e, por fim, exiba os novos resultados.
x y
![Page 28: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/28.jpg)
Problema 5:: Definir Entradas e Saídas
Grandeza Unidade de medida Faixa de valores
Entradasx --- ---
y --- ---
Saídasx --- ---
y --- ---
Grandeza Unidade de medida Faixa de valores
Entradasx --- ---
y --- ---
Saídasx --- ---
y --- ---
Valores trocados
![Page 29: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/29.jpg)
Estratégia 5:: Use analogias
E se o nosso problema fosse trocar duas soluções químicas de recipiente?
x y
![Page 30: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/30.jpg)
Estratégia 5:: Use analogias
Nesse caso, seria necessário um vasilhame vazio para auxiliar a troca de recipientes.
x yaux
![Page 31: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/31.jpg)
Problema 5:: Solução por analogia
1
x y aux
2
x y aux
3
x y aux
4
x y aux
aux ← y
y ← x
x ← aux
início
Ler xLer y
Exibir x, y
fim
2
3
4
![Page 32: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/32.jpg)
Problema 5:: Testar Solução
aux ← y
y ← x
x ← aux
início
Ler xLer y
Exibir x, y
fim
2
3
4
1
1042?
yx
aux1
104242
yx
aux2
101042
yx
aux3
421042
yx
aux4
Memória
![Page 33: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/33.jpg)
Problema 6 (inicial)
Quantas notas de R$50, de R$10 e de R$2 devem ser entregues durante um saque no caixa eletrônico?
Supor que apenas valores pares são permitidos.
![Page 34: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/34.jpg)
Problema 6 (inicial):: Definir Entradas e Saídas
Grandeza Unidade de medida Faixa de valores
Entradas
Saídas
Grandeza Unidade de medida Faixa de valores
Entradas Valor a ser sacado R$ ≥ 2
Saídas
Nº de notas de $50 Notas de $50 ≥ 0
Nº de notas de $10 Notas de $10 ≥ 0
Nº de notas de $2 Notas de $2 ≥ 0
![Page 35: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/35.jpg)
Problema 6 (inicial):: Qual a melhor estratégia?
Experimentar alguns números:E se fossem R$ 76,00?
$50 $10$10$2$2$2
76 50126
26 1026
6 230
Número de notas
Valor a decompor em notas menores
Número de notas
Número de notas
![Page 36: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/36.jpg)
Problema 6 (inicial):: Projeto da Solução
Para cada valor de cédula ($50, $10 e $2), devem ser realizadas duas operações: Divisão inteira – fornece o nº de notas Resto – fornece o dividendo da próxima divisão
Logo, para cada divisão, haverá duas variáveis. Na última divisão (notas de $2) não haverá
necessidade de guardar o resto, pois presume-se que ele sempre será zero.
![Page 37: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/37.jpg)
Problema 6 (inicial):: Solução
N50 ← valor // 50
R50 ← valor % 50
N10 ← R50 // 10
início
Ler valor
Exibir N50, N10, N2
fim
R10 ← R50 % 10
N2 ← R10 // 2
![Page 38: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/38.jpg)
Problema 6 (inicial):: Testar Solução
Testar para:1. R$ 58,002. R$ 50,003. R$ 44,004. R$ 10,005. R$ 8,006. R$ 2,00
N50 ← valor // 50
R50 ← valor % 50
N10 ← R50 // 10
início
Ler valor
Exibir N50, N10, N2
fim
R10 ← R50 % 10
N2 ← R10 // 2
![Page 39: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/39.jpg)
Estratégias para resolução de problemas – Resumo
1. Experimente alguns números2. Faça uma figura3. Trabalhe para frente e para trás4. Divida para conquistar5. Use analogias6. Conhece um problema parecido?
![Page 40: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/40.jpg)
Outras estratégias
7. Faça um esboço do problema no papel8. Reescreva o problema em termos mais simples9. Verifique se há informações desnecessárias10.Mude de plano ou de perspectiva11.Discuta com um colega12.Faça uma pausa ou mude de problema
![Page 41: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/41.jpg)
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 42: Turma: Professor: E-mail: Página: Ambiente virtual:](https://reader035.vdocuments.site/reader035/viewer/2022062500/5681502b550346895dbe1d75/html5/thumbnails/42.jpg)
Dúvidas?