domingo, 17 de julio de 2011

Estructuras condicionales compuestas y anidadas en JavaScript

Una vez hemos aprendido cómo funcionan las estructuras condicionales simples es muy fácil aprender el funcionamiento de las estructuras condicionales compuestas. De nuevo, veamos un ejemplo de cómo es su estructura general:

if (condición)
{
comandos
}
  else
  {
  comandos
  }

La primera parte de la estructura la conocemos ya, lo único que vemos de nuevo es else. Lo que else marca es que en caso de que no se cumpla la condición se ejecuten otra serie de comandos distinta. Veamos un ejemplo de cómo usarlo:

Crea un programa en el que se inserten dos números y él elija cual es el mayor de los dos:

var primero;
var segundo;
numero1=prompt('Inserta el primer numero','');
numero2=prompt('Inserta el segundo numero,'');
if (numero1>numero2) {
alert(numero1+" es mayor que "+numero2);
}
else {
alert(numero2+" es mayor que "+numero1);
}

El programa nos dirá si el primer número es mayor que el segundo, en caso de que no sea así nos dirá que el segundo número era mayor que el primero. Aquí tenéis el resultado del programa anterior:



Ahora que hemos visto las estructuras condicionales compuestas veamos la estructura de una condicional anidada:

if (condición)
{
comandos
}
  else
  {
    if (condición)
     {
     comandos
     }
      else
      {
       if (condición)
        {
        comandos
        }
      }
    }

Vemos que se crea una condición, si esta no se cumple se sigue a otra condición y así sucesivamente hasta que nosotros queramos que acabe el programa. Ahora veámosla con un ejemplo:

Crea un programa en el que se inserten 3 números y te muestre el mayor de los tres.

var primero,segundo,tercero;
primero=prompt('Primer número','');
segundo=prompt('segundo número','');
tercero=prompt('tercer número','');
if (primero>segundo && primero>tercero)
  {
  alert(primero+" es mayor que "+segundo+" y "+tercero);
  }
  else
    {
    if (tercero>segundo && tercero>primero)
      {
      alert(tercero+" es mayor que "+segundo+" y "+primero);
      }
        else
        {
        alert(segundo+" es mayor que "+tercero+" y "+primero);
        }
    }

He usado el operador lógico &&, éste lo que hace es que se tenga que cumplir más de una condición para que se ejecuten los comandos de la estructura if:

if (primero>segundo && primero>tercero)

Aquí la variable primero tiene que ser más grande que segundo y además la misma variable tiene que ser mayor que tercero para que se cumpla la condición. A continuación dejo el resultado del programa anterior:





                                       

0 comentarios: