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:
Pero me tira el siguiente error:
La solución ya la tengo, pero quiero saber que error estoy cometiendo, ya que no es la primera vez que me aparece.
Gracias!
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:
Código (c) [Seleccionar]
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:
Código (c) [Seleccionar]
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!