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

Author: Jacques Wainer

Created: 2018-09-06 Thu 11:49

Validate