Boa noite!
Desculpem estar a incomodar... Não consigo perceber quais são os erros que fiz nestes dois exercícios:
1) A função nRaizes que recebe os (3) coeficientes de um polinómio de 2º grau e que calcula o número de raízes (reais) desse polinómio:
No sublime, coloquei:
raizes :: Float -> Float -> Float -> [Float]
raizes a b c = ( ((-b) + sqrt(b^2 - 4 * a * c)) / (2 * a) ,
((-b) - sqrt(b^2 - 4 * a * c)) / (2 * a) )
E, depois, apareceu no terminal:
rafaela@rafaela-X541UV ~/Documents/LI1 $ ghci
GHCi, version 7.10.3: http://www.haskell.org/ghc/ :? for help
Prelude> :l ra.hs
[1 of 1] Compiling Main ( ra.hs, interpreted )
ra.hs:2:16:
Couldn't match expected type ‘[Float]’
with actual type ‘(Float, Float)’
In the expression:
(((- b) + sqrt (b ^ 2 - 4 * a * c)) / (2 * a),
((- b) - sqrt (b ^ 2 - 4 * a * c)) / (2 * a))
In an equation for ‘raizes’:
raizes a b c
= (((- b) + sqrt (b ^ 2 - 4 * a * c)) / (2 * a),
((- b) - sqrt (b ^ 2 - 4 * a * c)) / (2 * a))
Failed, modules loaded: none.
2) Defina uma função que recebe 3 pontos que são os vértices de um triângulo e devolve um tuplo com o comprimento dos seus lados.
No sublime, meti:
type Ponto = (Float,Float)
compr :: Ponto -> Ponto -> Ponto -> (Float, Float, Float)
compr a b c = sqrt ((fst b-fst a)^2 + (snd b-snd a)^2))
sqrt ((fst c-fst b)^2 + (snd c-snd b)^2))
sqrt ((fst c-fst a)^2 + (snd c-snd a)^2))
No terminal, aparece:
rafaela@rafaela-X541UV ~/Documents/LI1 $ ghci
GHCi, version 7.10.3: http://www.haskell.org/ghc/ :? for help
Prelude> :l rafs.hs
[1 of 1] Compiling Main ( rafs.hs, interpreted )
rafs.hs:3:55: parse error on input ‘)’
Failed, modules loaded: none.
Prelude>
Obrigada a quem teve paciência para ler até aqui... Aguardo alguma resposta...
Beijinhos
↧