nome, sum notas / fromIntegral(length notas)) --Para uma média perfeita que conta quantos elementos uma lista possui e retorna um número inteiro para a divisão.

{-
5. Diga quais são os tipos das seguintes expressões:

a) False
b) (["foo", "bar"], 'a')
c) [(True, []), (False, [['a']])]
d) 2.5
e) (1, 1.5, 2.5, 10)

Hugs> :type False
False :: Bool

Hugs> :type (["foo", "bar"], 'a')
(["foo","bar"],'a') :: ([[Char]],Char)

Hugs> :type [(True, []), (False, [['a']])]
[(True,[]),(False,[['a']])] :: [(Bool,[[Char]])]

Hugs> :type 2.5
2.5 :: Fractional a => a

Hugs> :type (1, 1.5, 2.5, 10)
(1,1.5,2.5,10) :: (Num a, Fractional b, Fractional c, Num d) => (d,c,b,a)

-}


{-
6. Crie as seguintes funções em Haskell definindo corretamente os tipos de dados.

a) Função para calcular a média de 4 números em ponto flutuante.
b) Função soma de 3 números inteiros.
c) Função que retorne a raiz quadrada de um número real. Utilize a função sqrt para o cálculo da raiz.
-}

e6a :: Float -> Float -> Float -> Float -> Float
e6a x1 x2 x3 x4 = (x1+x2+x3+x4)/4

e6b :: Int -> Int -> Int -> Int
e6b x1 x2 x
e6a :: Float -> Float -> Float -> Float -> Float
e6a x1 x2 x3 x4 = (x1+x2+x3+x4)/4
e6a x1 x2 x3 x4 = (x1+x2+x3+x4)/4