Ir directamente al contenido de esta página

codexexempla.org

Bucles

Tabla de contenidos

  1. Introducción
  2. for
  3. do … while

Introducción

Un bucle es la repetición de uno o varios enunciados un número determinado de veces.

Hay dos estructuras básicas para crear bucles: for y do … while.

for

La sintaxis de for es la siguiente:


    for(contador;condición;variación_del_contador){
        …enunciados a ejecutar…
    }
            

Por partes:

Por ejemplo, supongamos que quiero lanzar una alerta por cada uno de los valores de una matriz que contiene los libros de James Ballard que tengo en mi estantería:


    var obras = new Array();
        obras[0] = "Aparato de vuelo rasante";
        obras[1] = "Compañía de sueños ilimitada";
        obras[2] = "Crash";
        obras[3] = "El día de la creación";
        obras[4] = "El mundo sumergido";
        obras[5] = "Hola América";
        obras[6] = "La exhibición de atrocidades";
        obras[7] = "La isla de cemento";
        obras[8] = "La sequía";
        obras[9] = "Milenio negro";
        obras[10] = "Mitos del futuro próximo";
        obras[11] = "Playa terminal";
        obras[12] = "Rascacielos"
        obras[13] = "Super-Cannes";
        obras[14] = "Zona de catástrofe";
        
    for(var i=0;i<=14;i++){
        alert(obras[i]);
    }
            

El bucle comienza con i igual a 0, por lo que la alerta muestra Aparato de vuelo rasante. Como no hay más enunciados, tras ello i se incrementa —i++ es la sintaxis abreviada de i=i+1—, y repite la operación. Continúa haciendo lo mismo hasta que i es igual a 15, momento en que i<=14 se vuelve falsa, y el bucle deja de ejecutarse.

Hay que prestar especial atención a la hora de establecer las condiciones, puesto que un error de sintaxis puede llevar a que el bucle no se ejecute, o bien que se vuelva infinito. Un bucle como el siguiente:


    for(var i=0;i>=100;i++){ … }
                

No se ejecutaría nunca, puesto que se ha indicado que el for se repita mientras que i sea mayor o igual a 100, lo cual ya no ocurre desde un primer momento. Por el contrario, este otro:


    for(var i=0;i>=0;i++){ … }
                

Se ejecuta hasta el infinito, puesto que siempre que se actualice el valor de i será mayor que 0.

Ejemplos del empleo de for y alguna cosa más.

do … while

El comportamiento de do … while es similar al de for, con la diferencia de que primero se ejecutan los enunciados y luego se comprueba la codición. Su sintaxis es:


    do{
        …enunciados a ejecutar…
    } while (condición);
            

Si rehacemos el ejemplo anterior por medio de esta instrucción, tenemos el siguiente código:


    var obras = new Array();
        obras[0] = "Aparato de vuelo rasante";
        
            …resto de los valores de la matriz…
            
        obras[14] = "Zona de catástrofe";
        
    var i = 0;
    
    do{
        alert(obras[i]);
        i++;
    } while (ilt;=14);
            

En este caso tenemos que declarar el contador —i— fuera de la estructura del bucle para poder emplearlo, y su valor se debe actualizar en un enunciado que forma parte del bloque a ejecutar. El resultado de ejecutarlo sería el mismo.

Ventajas o desventajas del uso de for en lugar de do … while no se me ocurren, aunque personalmente prefiero emplear el primero. Sólo hay que tener en cuenta un detalle que sí que los diferencia: en el de rehacer el bucle anterior que no se ejecutaba nunca —for(var i=0;i>=100;i++)—, si se programase por medio de do … while se ejecutaría una vez, puesto que la comprobación de la condición es posterior.

Contacto

En virtud de la Ley Orgánica 15/1999 de Protección de Datos de Carácter Personal le informo de que los datos que proporcione no serán empleados para otro fin que el de responder a su mensaje. En especial, me comprometo a no cederlos a terceros ni a emplearlos para enviar información no solicitada.

Del blog de Digital Icon