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

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

Introdução à Programação: uma Abordagem Funcional PD I – Eng. Elétrica Prof.ª Claudia Boeres 2008/2.

Apresentações semelhantes


Apresentação em tema: "Introdução à Programação: uma Abordagem Funcional PD I – Eng. Elétrica Prof.ª Claudia Boeres 2008/2."— Transcrição da apresentação:

1 Introdução à Programação: uma Abordagem Funcional PD I – Eng. Elétrica Prof.ª Claudia Boeres 2008/2

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

3 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 10) (mod q 50) (mod q 5)

4 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 q 10) (mod q 5) (mod (mod q 50) 20)

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

6 Conceitos importantes para programação Abstração: calcular a área de um círculo de raio 3: * 3 * 3 = areaCirculoraio3 = * 3 * 3 areaCirculoraio3 = pi =

7 Conceitos importantes para programação Generalização: calcular a área de um círculo de raio 3: pi = r = 3 areaCirculoraio3 = pi * r * r Parametrização: pi = areaCirculo r = pi * r * r

8 Conceitos importantes para programação Instanciação: a mesma definição pode ser usada para vários exemplos do mesmo problema calcular a área de um círculo de raio 3: pi = areaCirculo r = pi * r * r Hugs> areaCirculo Hugs> areaCirculo

9 Conceitos importantes para programação Modularização: Dividir para conquistar

10 Moduralização

11 Modularização área total =área amarela + área vermelha + área azul área azul = área azulclaro + área azulescuro Como seria um script em Haskell para descrever essa área?

12 Árvore da estrutura modular do problema

13 Exemplo


Carregar ppt "Introdução à Programação: uma Abordagem Funcional PD I – Eng. Elétrica Prof.ª Claudia Boeres 2008/2."

Apresentações semelhantes


Anúncios Google