6 paradigma funcional usando haskell
Click here to load reader
-
Upload
pericles-miranda -
Category
Documents
-
view
587 -
download
1
Transcript of 6 paradigma funcional usando haskell
Paradigma Funcional usando Haskell
Execução Condicional
Execução Condicional
• Tipos de Expressões:
– Casamento de padrões;
– Expressão if-then-else;
– Expressões Guardadas;
– Expressão Case.
Casamento de Padrões
• Características:– Constantes no lugar de nomes de variáveis representando argumentos
• A expressão só será executada se o argumento for igual a constante passada;
– Várias definições para o corpo da função
• A primeira definição que satisfizer os padrões será utilizada paradefinir o valor da chamada.
f :: Int -> Int
f 0 = 0
f 1 = 1
f 2 = 1
f n = n * fat (n-1)
f _ = 100
Expressão if-then-else
• Características:
– Similar ao comando de C/C++/Java;
– A expressão condicional é avaliada e utilizada paraescolher entre os dois casos.
f x = if (x>0) then
1
else
-1
Expressões Guardadas
• Características:
– Um conjunto de pares (condição, expressão);
– As condições são avaliadas sequencialmente;
– A primeira condição verdadeira determinará o valor da função.
t x | x>0 = 1
| x==0 = 0
| otherwise = -1
Expressão Case
• Características:
– Funcionalidade semelhando ao comando “switch”:• A expressão “x” é avaliada;
• O resultado da avaliação é comparado com cada constante;
• A expressão associada a constante correta será avaliada e retornada como resultado.
t x = case x of
0 -> 1+2
1 -> 2+10
_ -> 10+2
Recursividade
Recursividade
• Uma função que chama a si própria;
• Geralmente a definição é dividida em
– Casos bases;
– Casos recursivos;
• Fundamental em linguagens funcionais
– Utilizada no lugar de laços.
Vamos Praticar?
Exercícios
Implementar:
1) Concatenar string ‘n’ vezes, onde ‘n’ e a string são passadas como parâmetros;
2) Somar valor passado como parâmetro ‘n’ vezes;
3) Retornar ‘n-enésimo’ elemento de uma PA, de acordo com constante passada comoparâmetro;
4) Fatorial;
5) Fibonacci;