Aula 8
livro texto (cap 7)
Haskell online outro - so compilado
1 Teste
Implemente a função vogalmaiscomum
que dado um string retorna a (uma
das) vogais mais comum no string. Considerar que vogais maiúsculas e
minúsculas contam como a mesma vogal
Assuma que um contador é implementado como uma lista de tuplas onde o primeiro elemento da tupla é a chave e o segundo a contagem relativa a chave.
Assuma a função soma1
que dado uma chave e um contador (a lista)
soma 1 na contagem relativa a chave no contador, ou inclui a chave na
lista com contagem 1 se ela não tiver lista. Voce pode usar essa
função se quiser, voce não precisa implementa-la
soma1 :: (Eq a) => a -> [(a,Int)] -> [(a,Int)] soma1 "abc" [("efg",4),("abc",2),("qwe",1)] ==> [("efg",4),("abc",3),("qwe",1)] soma1 'a' [('b',1),('d',3),('u',2)] ==> [('a',1),('b',1),('d',3),('u',2)]
Outras funções úteis, que voce pode usar se quiser:
-elem elem :: (Eq a) => a -> [a] -> Bool
que retorna True se o 1o
argumento é membro da lista (2o argumento)
-toLower toLower :: Char -> Char
que se o argumento é uma letra maiúscula
retorna a minúscula correspondente, e se for minúscula,
retorna ela própria
toLower 'A' ==> 'a' toLower 'a' ==> 'a'
2 Modulos
import Data.List import Data.List (nub,sort) import qualified Data.List as DL DL.sort :m + Data.List Data.Map
De uma olhada em Data.List e Data.Map.Strict hackage