Created
August 14, 2019 02:52
-
-
Save romulogarofalo/928b49ef03c8528c62df0ff46e577ccd to your computer and use it in GitHub Desktop.
Aula2Projeto. todo o conteúdo do projeto criado para o video de aula2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Projeto where | |
data Cargo = Estagiario | Programador | Coordenador | Gerente deriving Show | |
data Pessoa = Pessoa { | |
cargo :: Cargo, | |
nome :: String | |
} deriving Show | |
verSalario :: Pessoa -> Double | |
verSalario (Pessoa Estagiario _) = 1500 | |
verSalario (Pessoa Programador _) = 5750.15 | |
verSalario (Pessoa Coordenador _) = 8000 | |
verSalario (Pessoa Gerente _) = 10807.20 | |
verFolha :: Pessoa -> String | |
verFolha p = "{nome: \"" ++ (nome p) ++ | |
"\", cargo: \"" ++ show (cargo p) ++ | |
"\", salario: " ++ show (verSalario p) ++ "}" | |
promover :: Pessoa -> Pessoa | |
promover (Pessoa Estagiario n) = Pessoa Programador n | |
promover (Pessoa Programador n) = Pessoa Coordenador n | |
promover (Pessoa Coordenador n) = Pessoa Gerente n | |
promover (Pessoa _ n) = Pessoa Gerente n | |
-- 3.1) Crie o tipo Pergunta com os values constructors Sim | |
-- ou Nao . Faça as funções seguintes, determinando seus tipos | |
-- explicitamente. | |
-- pergNum : recebe via parâmetro uma Pergunta . | |
-- Retorna 0 para Nao e 1 para Sim . | |
-- listPergs : recebe via parâmetro uma lista de | |
-- Perguntas , e retorna 0 s e 1 s correspondentes aos | |
-- constructores contidos na lista. | |
-- and' : recebe duas Perguntas como parâmetro e | |
-- retorna a tabela verdade do and lógico, usando | |
-- Sim como verdadeiro e Nao como falso. | |
-- or' : idem ao anterior, porém deve ser usado o ou | |
-- lógico. | |
-- not' : idem aos anteriores, porém usando o not | |
-- lógico. | |
-- 3.2) Faça o tipo Temperatura que pode ter valores Celsius , | |
-- Farenheit ou Kelvin . Implemente as funções: | |
-- converterCelsius : recebe um valor double e uma | |
-- temperatura, e faz a conversão para Celsius. | |
-- converterKelvin : recebe um valor double e uma | |
-- temperatura, e faz a conversão para Kelvin. | |
-- converterFarenheit : recebe um valor double e | |
-- uma temperatura, e faz a conversão para Farenheit. | |
-- 3.3) Implemente uma função que simule o vencedor de uma | |
-- partida de pedra, papel e tesoura usando tipos criados. Casos de | |
-- empate devem ser considerados em seu tipo. | |
-- 3.4) Faça uma função que retorne uma string, com todas as | |
-- vogais maiúsculas e minúsculas eliminadas de uma string passada | |
-- por parâmetro usando list compreenshion. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment