Procesamiento condicionado
Presentación de la sintaxis
La estructura condicional en JavaScript es muy parecida sintácticamente a la que se ha visto con anterioridad en lenguaje descriptivo de algoritmia.
Por supuesto, de manera clásica, el bloque de instrucciones que se ha de ejecutar en caso de que la condición sea verdadera queda delimitado por llaves ({}). También es posible prever una secuencia de instrucciones alternativa con la palabra clave else. Esta secuencia también se encerrará entre llaves.
El lenguaje JavaScript es muy permisivo respecto a la ubicación de estas llaves. De esta manera, encontrará scripts con las siguientes construcciones:
if (condición)
{
Acciones_1;
}
else
{
Acciones_2;
}
o
if (condición) {
Acciones_1;
}
else {
Acciones_2;
}
o
if (condición) { Acciones_1; } else { Acciones_2; }
donde:
-
condición representa una comparación que genera un resultado booleano true o false,
-
Acciones_1 y Acciones_2 representan secuencias de instrucciones (en general en varias líneas).
Observe que, para realizar una comprobación de comparación de igualdad, el operador...
Ejemplos
Para facilitar el seguimiento de los ejercicios JavaScript, se conserva la numeración que se ha visto en el capítulo Desarrollo a partir de algoritmos.
1. Ejercicio n.°6: Polinomio de segundo grado
Enunciado
Calcular las raíces de un polinomio de segundo grado Ax2+Bx+C (con A<>0 en valor absoluto, aunque esta prueba no se realiza aquí). Los valores A, B y C se introducirán con el teclado.
Corrección (parcial) en JavaScript
/* Introducción de los argumentos */
a = prompt("a:");
b = prompt("b:");
c = prompt("c:");
/* Cálculo del discriminante */
delta = (parseInt(b) * parseInt(b)) - (4 * parseInt(a) * parseInt(c));
/* Visualización de los argumentos */
document.write("a: " + a + "<br />");
document.write("b: " + b + "<br />");
document.write("c: " + c + "<br />");
document.write("Discriminante delta: " + delta + "<br />");
/* Determinación de las raíces */
if (delta < 0)
{
document.write("Sin soluciones");
}
else
{
if (delta == 0)
{
document.write("Solución única: " + (-b / (2 * a)));
}
...