A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução à Programação: uma Abordagem Funcional

Apresentações semelhantes


Apresentação em tema: "Introdução à Programação: uma Abordagem Funcional"— Transcrição da apresentação:

1 Introdução à Programação: uma Abordagem Funcional
Programação I Engenharia de Computação Prof.ª Claudia Boeres 2009/1 Theme created by Sakari Koivunen and Henrik Omma Released under the LGPL license. 1

2 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. 2

3 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; 3

4 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. 4

5 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? 5

6 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 6

7 Exemplo: Deseja-se escrever um programa que permita determinar a menor quantidade de cédulas necessárias para pagar uma dada quantia em Reais. 7

8 Etapas Compreensão do problema Planejamento Desenvolvimento
Avaliação do processo e seus resultados 8

9 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) (div (mod (mod q 100) 50) 10) (div (mod (mod (mod q 100) 50) 10) 5) (div (mod (mod (mod (mod q 100) 50) 10) 5) 1) (mod q 50) (mod q 10) (mod q 5) 9

10 Compreensão do problema
E com as cédulas 1, 2, 5, 10, 20, 50 e 100? Desenvolvimento: ncedulas1 q = (div q 100) + (div (mod q 100) 50) + (div (mod (mod q 100) 50) 20) + (div (mod (mod (mod q 100) 50) 20) 10) + (div (mod (mod (mod (mod q 100) 50) 20) 10) 5) + (div (mod (mod (mod (mod (mod q 100) 50) 20) 10) 5) 2) + (mod (mod (mod (mod (mod (mod q 100) 50) 20) 10) 5) 2) (mod q 50) (mod (mod q 50) 20) (mod q 10) (mod q 5) (mod q 5) 10

11 Avaliação do processo e seus resultados
ncedulas q = n100 + n50 + n10 + n5 + n1   where n100 = div q r100 = mod q n50 = div r r50 = mod q n10 = div r r10 = mod q n5 = div r n1 = mod r10 5 11

12 Exercícios: Apresente três problemas semelhante ao das cédulas
Desenvolva uma solução para o problema considerando que para cada tipo de cédula existe um quantidade limitada (maior ou igual a zero);


Carregar ppt "Introdução à Programação: uma Abordagem Funcional"

Apresentações semelhantes


Anúncios Google