Introduo Programao uma Abordagem Funcional Programao I Engenharia
Introdução à Programação: uma Abordagem Funcional Programação I Engenharia de Computação Prof. ª Claudia Boeres e Prof. Estefhan Dazzi Wandekoken 2010/1
A arte de resolver problemas criar oportunidades para que o estudante desenvolva suas habilidades como solucionador de problemas usando computador. George Polya: livro voltado para a resolução de problemas de matemática do ensino fundamental. adaptações para a resolução de problemas usando o computador.
Algumas dicas. . . Só se aprende a resolver problemas através da experiência; A ajuda do professor não deve vir através da apresentação pura e simples de uma solução; É muito importante não se conformar com uma única solução;
Algumas dicas. . . Na busca pela solução de um problema, nossa ferramenta principal é o questionamento; Aprenda desde cedo a buscar um aprimoramento da sua técnica para resolver problemas; Crie uma sistematização.
Como resolver um problema? Polya: processo dividido em quatro etapas; Por onde começar cada etapa? O que posso fazer com os elementos que disponho? Qual a vantagem de proceder da forma escolhida?
Etapas Compreensão do problema Planejamento Desenvolvimento: construção da solução; planejamento do teste; execução do teste; codificação da solução; teste com o uso do computador. Avaliação do processo e seus resultados
Exemplo: Deseja-se escrever um programa que permita determinar a menor quantidade de cédulas necessárias para pagar uma dada quantia em Reais.
Etapas Compreensão do problema Planejamento Desenvolvimento Avaliação do processo e seus resultados
Etapas Compreensão do problema: Cédulas de 1, 5, 10, 50 e 100 Planejamento Desenvolvimento: ncedulas q = (div q 100) + (div (mod q 100) 50) + (mod q 50) (div (mod q 100) 50) 10) + 10) q 100) 50) 10) 5)+ (div (modq (mod 5) (mod q 100) 50) 10) 5) 1) (div (modq (mod
Compreensão do problema E com as cédulas 1, 2, 5, 10, 20, 50 e 100? Desenvolvimento: ncedulas 1 q = (div q 100) + (div (mod q 100) 50)q+50) (mod (div (mod q 100) 50)q 20) (mod 50) +20) (div (mod q 100) (mod q 10)50) 20) 10) + (div (mod(modq(mod 5) q 100) 50) 20) 10) 5) + (div (mod (mod q 100) 50) 20) 10) 5) 2) + (mod (mod q 5) (mod q 100) 50) 20) 10) 5) 2)
Avaliação do processo e seus resultados ncedulas q = n 100 + n 50 + n 10 + n 5 + n 1 where n 100 = div q 100 r 100 = mod q 100 n 50 = div r 100 50 r 50 = mod q 50 n 10 = div r 50 10 r 10 = mod q 10 n 5 = div r 10 5 n 1 = mod r 10 5
Exercícios: 1) Apresente três problemas semelhante ao das cédulas 2)Desenvolva uma solução para o problema considerando que para cada tipo de cédula existe um quantidade limitada (maior ou igual a zero);
- Slides: 12