Buenos días.
Estoy liado con Haskell que me la dejé para verano en la carrera.
El ejercicio dice lo siguiente:
Consideremos la ecuación de segundo grado ax2 + bx + c = 0.
a) Define una función raíces que tome tres parámetros (correspondientes a los coeficientes a, b y c
de la ecuación) y devuelva una tupla con las dos soluciones reales de la ecuación (para calcular la
raíz cuadrada, usa la función predefinida sqrt). Recuerda que el discriminante se define como b2-
4ac y que la ecuación tiene raíces reales si el discriminante no es negativo.
Yo he hecho esto:
raices :: Float-> Float-> Float-> (Float, Float)
raices a b c | discriminante<0 = error "Raices no reales"
| otherwise = ((-b + raiz)/denominador, (-b - raiz)/denominador)
where
discriminante = (b*b - 4*a*c)
raiz = sqrt discriminante
denominador = 2*a
Pero me tira el siguiente error:
parse error on input `='
Perhaps you need a 'let' in a 'do' block?
e.g. 'let x = 5' instead of 'x = 5'
|
91 | raiz = sqrt discriminante
| ^
La solución ya la tengo, pero quiero saber que error estoy cometiendo, ya que no es la primera vez que me aparece.
Gracias!