{- (2.0) - Uma Data pode ser representada por uma tripla (dia,mes,ano). Defina funcoes para: -} type Dia = Int type Mes = Int type Ano = Int type Data = (Dia,Mes,Ano) -- comparar se uma data e' maior que outra: -- maiorque :: Data -> Data -> Bool -- Ex: maiorque (26,07,1968) (20,01,1970) = False -- Ex: maiorque (26,07,1968) (23,07,1968) = True -- retornar a diferenca em anos entre duas datas: -- Ex: idade (20,07,1997) (26,07,1970) = 16 -- Ex: idade (20,08,1997) (26,07,1970) = 17 {-(2.0) - Dado um Banco de Dados (representado por uma lista de triplas) contendo codigo de produto, nome do produto e preco, faca funcoes para: -} type Codigo = Int type Produto = String type Preco = Int type Database = [(Codigo,Produto,Preco)] dbteste = [(1000,"CD",100), (2000,"Fita",150), (3000,"TV",500), (1500,"Radio",30), (1600,"Telefone",50)] -- dada uma lista de codigos e o banco de dados, -- retornar a lista de codigo, -- produto e preco daqueles codigos. -- cod2db :: [Codigo] -> Database -> Database -- Ex: cod2db [1000,1600,2000] dbteste -- = [(1000,"CD",100), (1600,"Telefone",50), (2000,"Fita",150)] -- dada uma lista de codigos e o banco de dados, -- retornar o total da compra daqueles produtos. -- total :: [Codigo] -> Database -> Int -- Ex: total [1000,1600,2000] dbteste = 300 {- (2.0) - faca uma funcao que converta um numero romano em decimal: Ex: romanDigit "VIII" = 8 romanDigit "IX" = 9 -} -- romanDigit :: String -> Int