6 paradigma funcional usando haskell

615
-1

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
615
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

6 paradigma funcional usando haskell

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

    Clipping is a handy way to collect important slides you want to go back to later.

×