SlideShare uma empresa Scribd logo
1 de 12
Paradigmas de Linguagem de Programação Prof. Péricles Miranda periclesmiranda@gmail.com
Paradigma Funcional usando Haskell
Execução Condicional
Execução Condicional Tiposde Expressões: Casamento de padrões; Expressãoif-then-else; ExpressõesGuardadas; ExpressãoCase.
Casamento de Padrões f :: Int -> Int f 0 = 0 f 1 = 1 f 2 = 1 f n = n * fat (n-1) f _ = 100 Características: Constantes no lugar de nomes de variáveisrepresentandoargumentos A expressãosóseráexecutada se o argumento for igual a constantepassada; Váriasdefiniçõespara o corpodafunção A primeiradefiniçãoquesatisfizerospadrõesseráutilizadaparadefinir o valor dachamada.
Expressão if-then-else f x = if (x>0) then         1       else         -1 Características: Similar aocomando de C/C++/Java; A expressãocondicional é avaliada e utilizadaparaescolher entre osdoiscasos.
Expressões Guardadas t x | x>0  = 1     | x==0 = 0     | otherwise  = -1 Características: Um conjunto de pares (condição, expressão); As condiçõessãoavaliadassequencialmente; A primeiracondiçãoverdadeiradeterminará o valor dafunção.
Expressão Case t x = case x of 	0 -> 1+2       	1 -> 2+10        _ -> 10+2 Características: Funcionalidadesemelhandoaocomando “switch”: A expressão “x” é avaliada; O resultadodaavaliação é comparado com cadaconstante; A expressãoassociada a constantecorretaseráavaliada e retornadacomoresultado.
Recursividade
Recursividade Umafunçãoquechama a siprópria; Geralmente a definição é divididaem Casosbases; Casosrecursivos; Fundamental emlinguagensfuncionais Utilizada no lugar de laços.
VamosPraticar?
Exercícios Implementar: Concatenar string ‘n’ vezes, onde ‘n’ e a string sãopassadascomoparâmetros; Somar valor passadocomoparâmetro ‘n’ vezes; Retornar ‘n-enésimo’ elemento de uma PA, de acordo com constantepassadacomoparâmetro; Fatorial; Fibonacci;

Mais conteúdo relacionado

Destaque

9 paradigma funcional usando haskell
9 paradigma funcional usando haskell9 paradigma funcional usando haskell
9 paradigma funcional usando haskellPéricles Miranda
 
8 paradigma funcional usando haskell
8 paradigma funcional usando haskell8 paradigma funcional usando haskell
8 paradigma funcional usando haskellPéricles Miranda
 
5 paradigma funcional usando haskell
5 paradigma funcional usando haskell5 paradigma funcional usando haskell
5 paradigma funcional usando haskellPéricles Miranda
 
Monografia pericles miranda_v1 (28-07-10)
Monografia pericles miranda_v1 (28-07-10)Monografia pericles miranda_v1 (28-07-10)
Monografia pericles miranda_v1 (28-07-10)Péricles Miranda
 
7 paradigma funcional usando haskell
7 paradigma funcional usando haskell7 paradigma funcional usando haskell
7 paradigma funcional usando haskellPéricles Miranda
 
Paradigma Funcional - Caso de Estudo Haskell
Paradigma Funcional - Caso de Estudo HaskellParadigma Funcional - Caso de Estudo Haskell
Paradigma Funcional - Caso de Estudo HaskellSérgio Souza Costa
 
4 introdução ao paradigma funcional
4 introdução ao paradigma funcional4 introdução ao paradigma funcional
4 introdução ao paradigma funcionalPéricles Miranda
 

Destaque (9)

9 paradigma funcional usando haskell
9 paradigma funcional usando haskell9 paradigma funcional usando haskell
9 paradigma funcional usando haskell
 
NN using python
NN using pythonNN using python
NN using python
 
8 paradigma funcional usando haskell
8 paradigma funcional usando haskell8 paradigma funcional usando haskell
8 paradigma funcional usando haskell
 
5 paradigma funcional usando haskell
5 paradigma funcional usando haskell5 paradigma funcional usando haskell
5 paradigma funcional usando haskell
 
Monografia pericles miranda_v1 (28-07-10)
Monografia pericles miranda_v1 (28-07-10)Monografia pericles miranda_v1 (28-07-10)
Monografia pericles miranda_v1 (28-07-10)
 
7 paradigma funcional usando haskell
7 paradigma funcional usando haskell7 paradigma funcional usando haskell
7 paradigma funcional usando haskell
 
Paradigma Funcional - Caso de Estudo Haskell
Paradigma Funcional - Caso de Estudo HaskellParadigma Funcional - Caso de Estudo Haskell
Paradigma Funcional - Caso de Estudo Haskell
 
4 introdução ao paradigma funcional
4 introdução ao paradigma funcional4 introdução ao paradigma funcional
4 introdução ao paradigma funcional
 
Bio python
Bio pythonBio python
Bio python
 

6 paradigma funcional usando haskell

  • 1. Paradigmas de Linguagem de Programação Prof. Péricles Miranda periclesmiranda@gmail.com
  • 4. Execução Condicional Tiposde Expressões: Casamento de padrões; Expressãoif-then-else; ExpressõesGuardadas; ExpressãoCase.
  • 5. Casamento de Padrões f :: Int -> Int f 0 = 0 f 1 = 1 f 2 = 1 f n = n * fat (n-1) f _ = 100 Características: Constantes no lugar de nomes de variáveisrepresentandoargumentos A expressãosóseráexecutada se o argumento for igual a constantepassada; Váriasdefiniçõespara o corpodafunção A primeiradefiniçãoquesatisfizerospadrõesseráutilizadaparadefinir o valor dachamada.
  • 6. Expressão if-then-else f x = if (x>0) then 1 else -1 Características: Similar aocomando de C/C++/Java; A expressãocondicional é avaliada e utilizadaparaescolher entre osdoiscasos.
  • 7. Expressões Guardadas t x | x>0 = 1 | x==0 = 0 | otherwise = -1 Características: Um conjunto de pares (condição, expressão); As condiçõessãoavaliadassequencialmente; A primeiracondiçãoverdadeiradeterminará o valor dafunção.
  • 8. Expressão Case t x = case x of 0 -> 1+2 1 -> 2+10 _ -> 10+2 Características: Funcionalidadesemelhandoaocomando “switch”: A expressão “x” é avaliada; O resultadodaavaliação é comparado com cadaconstante; A expressãoassociada a constantecorretaseráavaliada e retornadacomoresultado.
  • 10. Recursividade Umafunçãoquechama a siprópria; Geralmente a definição é divididaem Casosbases; Casosrecursivos; Fundamental emlinguagensfuncionais Utilizada no lugar de laços.
  • 12. Exercícios Implementar: Concatenar string ‘n’ vezes, onde ‘n’ e a string sãopassadascomoparâmetros; Somar valor passadocomoparâmetro ‘n’ vezes; Retornar ‘n-enésimo’ elemento de uma PA, de acordo com constantepassadacomoparâmetro; Fatorial; Fibonacci;