Advertisement
Guest User

Untitled

a guest
Apr 24th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. 1) Crie uma função de ordenação sort::(a->a->Bool)->[a]->[a] que recebe uma função de comparação e uma lista, e ordena a lista de acordo com a função.
  2. > sort (>) [1,4,2,3,8,15,0] [15,8,4,3,2,1,0]
  3.  
  4. 2) Crie uma função agrupar :: Eq a => [a] -> [[a]] , que recebe uma lista e devolve uma lista de lista dos elementos iguais
  5. Exemplo:
  6. > agrupar "arara"
  7. ["aaa","rr"]
  8. > agrupar [1,2,5,1,2,4,5,6,7,5,2,4]
  9. [[1,1],[2,2,2],[5,5,5],[4,4],[6],[7]]
  10. > agrupar [True,False,True,False,False,True]
  11. [[True,True,True],[False,False,False]]
  12. Considere os seguintes tipos sinônimos:
  13. type Lado = Float
  14. type Triangulo = (Lado, Lado, Lado)
  15.  
  16. 3) Implemente uma função que recebe uma lista de Triangulo e retorna a soma das áreas dos respectivos triângulos. Use obrigatoriamente as funções foldr1 e map.
  17.  
  18. 4) Implemente uma função functions :: [(a -> a -> a)] -> [a] -> [(a -> a)] que recebe uma lista de funções binárias e uma lista de valores. O funcionamento de functions é tal que aplica cada função a um respectivo elemento da lista de valores e retorna uma lista de funções parcialmente aplicadas. Dê alguns exemplos de entrada e respectiva saída para functions.
  19. Considere uma lista de nomes completos de pessoas, escreva uma função que retorne a lista de nomes abreviados da seguinte forma:
  20.  
  21. > abrev ["Alberto Rodrigues Pontes", "Amanda Azevedo Mendes"]
  22. ["A. Mendes", "A. Pontes"]
  23.  
  24. Depois de abreviados ordene a lista em ordem alfabética, utilize funções como map, fold e filter para resolver a questão.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement