Lista de Haskell
Exercício 01
Calcule as raízes reais (caso existam), de uma equação do segundo grau, com elementos de entrada a, b e c.
delta :: Float->Float->Float->Bool delta a b c = if (((b^2 -(4*a*c))) < 0) then False else True
raiz :: Float->Float->Float->[Float] raiz a b c = if (delta a b c == True) then [(-b+(sqrt(b^2-(4*a*c))))/(2*a),(-b-(sqrt(b^2-(4*a*c))))/(2*a)] else []
Exercício 02
Elaborar uma função para calcular o produto de m por n.
produto :: Int->Int->Int produto m n = (m*n)
Exercício 03
Elaborar uma função que calcula o fatorial de um número.
fat :: Int -> Int fat 0 = 1 fat n = n*fat(n-1)
Exercício 04
Elaborar uma função que recebe três números inteiros e retorna os mesmos em ordem crescente.
cres :: Int->Int->Int->[Int] cres a b c |a<=b && b<=c = [a,b,c] |a<=c && c<=b = [a,c,b] |b<=a && a<=c = [b,a,c] |b<=c && c<=a = [b,c,a] |c<=a && a<=b = [c,a,b] |c<=b && b<=a = [c,b,a]
Exercício 05
Elaborar uma função que recebe dois números e calcula o M.D.C dos números.
mdc a b mdc :: Int->Int->Int mdc a b | (a == b) = a | (a > b) = mdc (a - b) b | otherwise = mdc b a
Exercício 06
Elaborar uma função que recebe dois números e calcula o M.M.C. dos números.
mmc x y mmc :: Int -> Int -> Int mmc _ 0 = 0 mmc 0 _ = 0 mmc x y = (x `div` mdc x y) * y
Exercício 07
Elaborar uma função que recebe dois números e eleva m a n pot x y pot :: Int->Int->Int pot x y = x^y
Exercício 08
Elaborar uma função que recebe um número e devolve os fatores primos do mesmo.
primos n primos :: Int->[Int] primos n = [lista | lista <- [1..n], length([x | x<-[1..lista], mod lista x == 0]) == 2]
Exercício 09
Elaborar uma função que recebe uma lista de números inteiros que retorna o maior número deles.
maio (a:x) maio :: [Int]->Int maio(a:x) | [l | l <- x, l > a] == [] =a | otherwise =maio(x)
Exercício 10
Elaborar uma função que recebe uma lista de números inteiros e retorna o último