Please note, this is a STATIC archive of website www.tutorialspoint.com from 11 May 2019, cach3.com does not collect or store any user information, there is no "phishing" involved.
Tutorialspoint

Compile and Execute Haskell Online


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))
    
    
    
    
    

Advertisements
Loading...

We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy.