Questão 50: naoReparar
Voltar
Considere o seguinte tipo para representar o estado de um equipamento.
data Equipamento = Bom | Razoavel | Avariado deriving Show
Defina a função naoReparar :: [Equipamento] -> Int
que determina a quantidade de equipamentos que não estão avariados
Exemplo
> naoReparar [Bom, Avariado, Bom, Razoavel, Avariado]
3
Resolução
data Equipamento = Bom | Razoavel | Avariado
deriving Show
naoReparar :: [Equipamento] -> Int
naoReparar [] = 0
naoReparar (Bom:t) = 1 + naoReparar t
naoReparar (Razoavel:t) = 1 + naoReparar t
naoReparar (Avariado:t) = naoReparar t
Resolução
data Equipamento = Bom | Razoavel | Avariado
deriving Show
naoReparar :: [Equipamento] -> Int
naoReparar [] = 0
naoReparar (h:t) = case h of Avariado -> naoReparar t
_ -> 1 + naoReparar t