[JavaScript] 7 clase: sentencia switch y bucles

Iniciado por ANTRAX, Febrero 24, 2010, 11:05:23 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Febrero 24, 2010, 11:05:23 AM Ultima modificación: Mayo 01, 2014, 08:14:23 PM por Destructor.cs
Sentencia Switch

Existe un modo mejor de realizar comparaciones, mediante la sentencia switch (en ingles, conmutador).
Esta sentencia tiene la siguiente sintaxis general:


Código: JavaScript

Switch (expresion)
{
case valor_1:
conjunto de sentencias si la expresion es igual a valor_1;
case valor_2:
conjunto de sentencia  a ejecutar si la expresion es igual a valor_2;
....
....
....
case valor_n:
conjunto  se sentencias a ejecutar si la expresion es igual al valor_n;
default:
conjunto de sentencias a ejecutar si el valor de la expresioon no es ninguno
de los que se han comprobado;
}

En esta sintaxis se aparecia el funcionamiento tan simple como efectivo.
Pero ahora veremos mas claro con este peque;o script que les hic:


Código: javascript
<script language="javascript">
<!--
var numeroEnCifras, numeroEnLetras;
//Pedimos el numero al usuario.
numeroEnCifras = prompt ("Teclee un numero del 1 al 10 (en cifras).", "");
numeroEnCifras = parseInt (numeroEnCifras);
//Lo comparamos mediante un conmutator.
switch (numeroEnCifras)
{
case 1:
numeroEnLetras = "Uno";
break;
case 2:
numeroEnLetras = "Dos";
break;
case 3:
numeroEnLetras = "Tres";
case 4:
numeroEnLetras = "Cuatro";
break;
case 5:
numeroEnLetras = "Cinco";
break;
case 6:
numeroEnLetras = "Seis";
break;
case 7:
numeroEnLetras = "Siete";
break;
case 8:
numeroEnLetras = "Ocho";
break;
case 9:
numeroEnLetras = "Nueve";
break;
case 10:
numeroEnLetras = "Diez";
break;
default:
numeroEnLetras = "ERROR";
}
alert ("El numero es " + numeroEnLetras);
//-->
</script>


Fijense que tecleamos la palabra switch y, entre parentesis el nombre de la variable
que vamos a evaluar . A continuacion entre llaves va el resto del codigo. Cada uno de los valores posibles con que queremos comparar la variable va precedido de la palabra reservada case que podemos traducir al español como, en caso de que sea y terminamos esa linea con dos puntos (Sonrisa en lugar de punto y coma (Gui&ntilde;ar.  Dentro de cada caso incluimos el conjunto de lineas de codigo que deben ejecutarse si la variable tiene el valor que hemos comprobado en ese caso.

Fijense que en todos los casos acaban con la sentencia break (romper).
Esto es asi para q, si uno de los casos resulta ser cierto, se salga de la ejecucion del switch y no se sigan verificando los demas.

Un caso especial es default (funcion por defecto). Aqui incluimos las sentencias que deben ejecutarse si ninguna de las comparaciones anteriores ha resultado cierta. Este caso en concreto no se termina con la palabra break, ya que no hay mas casos que comprobar.

1.1 Bucles (Definicion)

Los bucles constituyen a la segunda estructura de control de flujo. Se conoce como bucle el procedimiento por el cual la ejecucioonde un fragmento de codigo se repite, de forma controlada, un numero determinado o indeterminado de veces. Es decir un bucle encierra un conjunto de instrucciones, que se conocen con el nombre de cuerpo de bucle, y determina que estas se repitan segun lo halla hecho el programador.

2.1 Ejecutar un numero determinado de veces.(for)

Los bucles mas sencillos eventualmente son los que se ejecutan un numero determinado de veces.
Cuando queremos crear un bucle de este tipo, es necesario disponer de una variable, llamada genericamente variable de control, que se empleara para llevar xuenta de las veces que se repite el bucle.
Estos bucles se crean mediante la instruccion for.


Ahora dejare un ejemplo de un script que les pedira la edad a 4 usuarios para determinar si son adultos, incluiremos este proceso en un bucle que se repetira 4 veces..

Script:

Código: javascript
<script language="javascript">
<!--
var cuenta, edad;
for (cuenta = 1; cuenta <= 4; cuenta ++)
{
edad = prompt ("Introduzca su edad (en cifras).", "18");
edad = parseInt (edad);
if (edad<18)
{
alert ("Usted es menor de edad.");
} else {
alert ("Es usted mayor de edad.");
}
}
//-->
</script>


Como ve se repite la consulta tantas veces coomo establece dicho bucle.
La clave de todo esta en la definicion del bucle.

Por cierto, cada vez que se repite lA ejecucion de un bucle se llama iteracion, ciclo de bucle , o, simplemente ciclo.

2.1 Ejecutar un numero indeterminado de veces.(while)

Primeramente miren su sintaxis:

Código: JavaScript

while (condicion)
{
cuerpo del bucle
}


La condicion determina cuando se ejecuta el bucle o cuando se deja de ejecutar.
Este tipo de bucle se ejecuta mientras while la condicion cumpla.

Vamos a ver un codigo que hice que pide una clave y no deja continuar hasta que se introduzca la clave adecuada, en este  codigo seria password la clave.

Código: javascript
<script language="javascript">
<!--
var clave = "";
while (clave != "password")
{
clave = prompt ("Introduzca la clave correcta", "");
}
alert ("Ya era hora.");
//-->
</script>


Este script se ejecutara tantas veces hasta que el usuario ponga la verdadera clave en este caso,
password.

Bueno hasta hoy eso, en la otra clase seguire dando una extension de los bucles,
y entrare despues con el POO y el DOM.

By N3xtdoor

Gui&ntilde;ar