Coeficiente a ? 1.
Coeficiente b ? 4.
Coeficiente c ? 7.
La ecuación tiene raíces complejas
En pocas palabras, el significado de esta instrucción se puede explicar
de la siguiente forma: si
if (b*b >= 4*a*c) {
print("La ecuación tiene raíces reales");
}
else {
print("La ecuación tiene raíces complejas");
}
b*b>=4*a*c
entonces se ejecuta
el primer print, si no se ejecuta el segundo.
Sintaxis de if:
if (``condición'') { ``instrucciones 1'' } else { ``instrucciones 2'' }Semántica de if:
La condición sigue la siguiente sintaxis:
En donde el operador relacional compara expresiones numéricas y puede ser: >, <, >= (mayor o igual), <= (menor o igual), == (igual) o != (distinto).
Ejercicio: desplegar el máximo entre a y b sin usar max.
Solución:
¡Se pueden ejecutar más de una instrucción en cada alternativa!
if (a>b) {
print("El máximo es ");
print(a);
}
else {
print("El máximo es ");
print(b);
}
Ejercicio:
Completar el programa que calcula las raíces de la ecuación de segundo grado. Cuando la ecuación tiene raíces reales, el diálogo debe ser el siguiente:
Por ejemplo:
Coef. a ? 1.
Coef. b ? -3.
Coef. c ? 2.
Las raíces son 1.0 y 2.0
Obs.: también se puede escribir:
// Lectura de a, b y c: todos double (propuesto)
...
// Cálculo de las raíces
double b24ac= b*b - 4*a*c;
if (b24ac>=0) {
print("Las raíces son ");
print( (-b+sqrt(b24ac))/(2*a) );
print( (-b-sqrt(b24ac))/(2*a) );
}
else
println("La ecuación tiene soluciones imaginarias");
pero no:
print( (-b+sqrt(b24ac))/2/a );
print( (-b+sqrt(b24ac))/2*a ); // Malo
print( -b+sqrt(b24ac)/2/a ); // Malo