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 – Engenharia Elétrica Prof.ª Claudia Boeres 2008/2.

Apresentações semelhantes


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

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

2 O ponto P (x, y) pertence à área cinza? P (x, y) ? a a/2 C (x1, y1)

3 Definições Condicionais Adequadas para representação de situações de tomada de decisão

4 Estrutura if-then-else Sintaxe: if then else

5 Exemplo Considere a função que determina o valor da passagem aérea de um adulto, para um determinado trecho, por exemplo, Vitória- Manaus, considerando a sua idade. Pessoas com idade a partir de 60 anos possuem um desconto de 40% do valor. Considere ainda que a passagem para o trecho considerado custe R$ 600,00.

6 Exemplo Considere a função que associa com um determinado rendimento o Imposto de Renda a ser pago. Até um determinado valor, o contribuinte não paga imposto, e a partir de então o rendimento é dividido em faixas (intervalos), aos quais se aplicam diferentes taxas: FaixaalíquotaDesconto inferior ou igual a 10.800 00 entre 10.801 e 20.000 101000 entre 20.001 e 30.000 201500 acima de 30.000251800

7 Árvore de Decisão

8 Árvore de decisão s <= 10800 ir1 s [10800, 20000] ir2 s [20001, 30000] ir3 ir4

9 Solução ir s = if s <= 10800 then ir1 else if pert s 10800 20000 then ir2 else if pert s 20001 30000 then ir3 else ir4 where ir1 = 0 ir2 = s * 0.1 - 1000 ir3 = s * 0.2 - 1500 ir4 = s * 0.25 - 1800 pert x a b = x>=a && x<=b

10 Exercício Dados três números, determine o maior deles. Faça a árvore de decisão Descreva a solução em haskell usando expressões condicionais

11 Guarded commands Permite que uma mesma função seja descrita por várias definições, cada uma delas protegida por uma expressão lógica; Sintaxe: | =... | = | otherwise =

12 Exemplo ir1 s | s<=10800 = ir1 | pert s 10800 20000 = ir2 | pert s 20001 30000 = ir3 | otherwise = ir4 where ir1 = 0 ir2 = s * 0.1 - 1000 ir3 = s * 0.2 - 1500 ir4 = s * 0.25 - 1800

13 O ponto P (x, y) pertence a qual das áreas 1, 2, 3 e 4? P (x, y) ? a a/2 C (x1, y1) 1 3 2 4


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

Apresentações semelhantes


Anúncios Google