Advertisement
adaaomad

Haskell exercise

Sep 22nd, 2017
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. {-
  2. 5.5)    Crie    o   tipo        Paridade        com os  values  constructors        Par     e
  3.     Impar    .  Crie    o   typeclass       ParImpar        que contém a   função        decide
  4. ::  a   ->  Paridade        e   possui  as  instâncias:
  5. Para        Int  :  noção de  Par/Impar   de      Int  .
  6. Para        [a]  :  uma lista   de  elementos   qualquer    é      Par     se
  7. o   número de  elementos   o   for.
  8.     Bool     :      False       como        Par  ,      True        como        Impar    .
  9. -}
  10.  
  11. data Paridade = Par | Impar deriving (Show)
  12.  
  13. class ParImpar a where
  14.   decide :: a -> Paridade
  15.  
  16. instance (Integral a) => ParImpar a where
  17.   decide i
  18.     |even i == True = Par
  19.     |otherwise = Impar
  20.  
  21. instance ParImpar [a] where
  22.   decide a
  23.     | mod (length a) 2 == 0 = Par
  24.     | otherwise = Impar
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement