Slides

6 paradigma funcional usando haskell

Description
1. Paradigmas de Linguagem de Programação<br />Prof. Péricles Miranda<br />periclesmiranda@gmail.com<br /> 2. Paradigma Funcional usando…
Categories
Published
of 12
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
  • 1. Paradigmas de Linguagem de Programação<br />Prof. Péricles Miranda<br />periclesmiranda@gmail.com<br />
  • 2. Paradigma Funcional usando Haskell<br />
  • 3. Execução Condicional<br />
  • 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. 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. 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. 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. 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. Recursividade<br />
  • 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. VamosPraticar?<br />
  • 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 />
  • NN using python

    Jul 12, 2018
    We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks