soma:: Fractional a => [a] -> a soma lista | length lista == 1 = head lista | length lista /= 1 = soma(tail lista) + head lista potencia :: (Float, Int) -> Float potencia (x, 0) = 1 potencia (x, n) = x * potencia(x, n-1) fact:: Int -> Int fact 0 = 1 fact n = n * fact(n - 1) fibo:: Int -> Int fibo 0 = 0 fibo 1 = 1 fibo 2 = 1 fibo n = fibo(n - 1) + fibo(n - 2) euler1:: Int -> Float euler1 0 = 1 euler1 n = 1 / fromIntegral(fact(n)) + euler1(n-1) euler2:: Int -> Float euler2 n = potencia( 1 + 1/ fromIntegral(n) , n) raizEquacaoQuadratica :: (Float, Float, Float) -> (Float, Float) raizEquacaoQuadratica (a,b,c) = (x1, x2) where x1 = e + sqrt d / (2 * a) x2 = e - sqrt d / (2 * a) d = b * b - 4 * a * c e = - b / (2 * a) main = do let vetorEntrada = [1, 2, 3, 4, 5, 6, 7, 8] let somaNativo = sum vetorEntrada let media = somaNativo / fromIntegral(length vetorEntrada) print("Soma do vetor: (Nativa)") print(somaNativo) print(" ") print(" ") print("Soma do vetor: (Proprietaria)") print(soma vetorEntrada) print(" ") print(" ") print("Media do vetor:") print(media) print(" ") print(" ") print("Maximo do vetor: (Nativa)") print( maximum vetorEntrada) print(" ") print(" ") print("Maximo do vetor: (Proprietaria)") print( maximum vetorEntrada) print(" ") print(" ") print("Minimo do vetor: ") print( minimum vetorEntrada) print(" ") print(" ") print(" ") print(" ") print("------Codigos recursivos-------") print("Fatorial de 5") print( fact 5) print(" ") print(" ") print("Fibonacci indice 6") print( fibo 6) print(" ") print(" ") print("Calculo do numero de Euler por serie de Taylor") print( euler1 10) print(" ") print(" ") print("Calculo do numero de Euler pela definicao") print( euler2 1000) print(" ") print(" ") print("Potencia de 4 elevado a 3") print( potencia(4, 3)) print(" ") print(" ") print(" ") print(" ") print(" ") print(" ") print("------Outros-------") print ("Raizes da equacao x^2 - 8x + 6") print(raizEquacaoQuadratica(1,-8,6))
We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy. Accept Learn more