para teste entre " "----------------------------------------------------------------------------------------------------linhas :: String -> String -> String -> Stringlinhas s1 s2 s3 = s1 ++ s2 ++ s3------------------------------------------------------------------------------------------------------ EXERCICIOS------------------------------------------------------------------------------------------------------ Objetivo: Operacao nOr, que retorna false se dois valores forem false----------------------------------------------------------------------------------------------------nOr :: Bool -> Bool -> BoolnOr p q = not (p || q) ------------------------------------------------------------------------------------------------------ Objetivo: Comparar se tres inteiros sao diferentes entre si----------------------------------------------------------------------------------------------------tresDiferentes :: Int -> Int -> Int -> BooltresDiferentes a b c | a /= b && b /= c && a /= c = True | otherwise = False ------------------------------------------------------------------------------------------------------ Objetivo: Calcular area de um triangulo----------------------------------------------------------------------------------------------------areaT :: Float -> Float -> FloatareaT base altura = ((base * altura) / 2)------------------------------------------------------------------------------------------------------ Objetivo: Calcular area de um circulo----------------------------------------------------------------------------------------------------areaC :: Float -> Float areaC raio = (3.14 * (raio * raio))------------------------------------------------------------------------------------------------------ Objetivo: Converter uma temperatura Farenheit para Centigrados----------------------------------------------------------------------------------------------------converteT :: Float -> Float converteT temperatura = (5 / 9) * (temperatura - 32)------------------------------------------------------------------------------------------------------ Objetivo: Converter Maiuscula para Minuscula----------------------------------------------------------------------------------------------------paraMinuscula :: Char -> CharparaMinuscula a = chr (ord a + 32) ------------------------------------------------------------------------------------------------------ Objetivo: Converter Minuscula para Maiuscula----------------------------------------------------------------------------------------------------paraMaiuscula :: Char -> CharparaMaiuscula a = chr (ord a - 32) ------------------------------------------------------------------------------------------------------ Objetivo: Calcular media de um aluno----------------------------------------------------------------------------------------------------calculaMedia :: Float -> Float -> Float -> FloatcalculaMedia a b c = (a + b + c) / 3------------------------------------------------------------------------------------------------------ Objetivo: Definir a posicao do ponto no eixo cartesiano----------------------------------------------------------------------------------------------------cartesiano :: Float -> Float -> Stringcartesiano x y | x > 0 && y > 0 = "Primeiro Quadrante" | x < 0 && y > 0 = "Segundo Quadrante" | x < 0 && y < 0 = "Terceiro Quadrante" | x > 0 && y < 0 = "Quarto Quadrante" | otherwise = "Os pontos nao esta em nenhum dos quadrantes pois eh o ponto 0." ------------------------------------------------------------------------------------------------------ Objetivo: Definir a unidade de um numero----------------------------------------------------------------------------------------------------unidade :: Int -> Int unidade a | a < 10 = a | otherwise = mod a 10 ------------------------------------------------------------------------------------------------------ Objetivo: Definir a dezena de um numero----------------------------------------------------------------------------------------------------dezena :: Int -> Int dezena a | a < 100 = a | otherwise = mod a 100 ------------------------------------------------------------------------------------------------------ Objetivo: Definir a centena de um numero----------------------------------------------------------------------------------------------------centena :: Int -> Int centena a | a < 1000 = a | otherwise = mod a 1000 ------------------------------------------------------------------------------------------------------ Objetivo: Somar algarismos----------------------------------------------------------------------------------------------------somaAl :: Int -> Int somaAl a | a < 10 = a | a >= 10 && a < 100 = (mod a 10) + (div a 10) | a >= 100 && a < 1000 = (mod a 10) + (mod (div a 10) 10) + (div a 100) | otherwise = error " Numero deve ser menor que 1000." ------------------------------------------------------------------------------------------------------ Objetivo: Soma lados dos triangulos----------------------------------------------------------------------------------------------------somaTri :: Int -> Int -> Int -> String somaTri a b c | a == b && a == c = "Triangulo Equilatero" | a /= b && a /= c && b /= c = "Triangulo Escaleno" | otherwise = "Triangulo Isosceles" ------------------------------------------------------------------------------------------------------ Objetivo: Verificar se um numero e par----------------------------------------------------------------------------------------------------ehPar :: Int -> Bool ehPar a | mod a 2 == 0 = True | otherwise = False