Estructura de Programación "Do-While"

Esta página contiene ejemplos y explicaciones sobre el uso de la estructura do-while en JavaScript.

Estructura de programación do-while:

do
{
    sentencia1;
    sentencia2;
    sentencia3;
} while(condición);

Mientras se cumpla la condición, se repetirá la ejecución de las sentencias 1, 2 y 3.

Como la evaluación de la condición se efectúa al acabarse el ciclo, el do-while se ejecutará siempre como mínimo una vez. Ésta es la diferencia que hay entre la estructura do-while y la while.

Ejercicio 1: Comparación While vs Do-While

Resultado:

Código del ejercicio:

var x=1;
var salida="while:\n";
while (x<5)
{
    x=x+1;
    salida=salida+x+"\t";
}
salida=salida+"\ndo while:\n";
x=1;
do
{
    x=x+1;
    salida=salida+x+"\t";
} while (x<5);
alert(salida);

Ejercicio 2: Diferencia clave entre While y Do-While

Resultado:

Código del ejercicio:

var x=1;
var salida="while:\n";
while (x<5)
{
    x=x+1;
    salida=salida+x+"\t";
}
salida=salida+"\ndo while:\n";
x=1;
do
{
    x=x+1;
    salida=salida+x+"\t";
} while (x>5);
alert(salida);

¿Qué diferencia hay entre la estructura while y la do-while?

La diferencia principal es que el do-while siempre se ejecuta al menos una vez, ya que la condición se evalúa al final del ciclo. En cambio, el while evalúa la condición al principio, por lo que puede que no se ejecute ninguna vez si la condición no se cumple inicialmente.

Ejercicio 3: Sucesión de Fibonacci

La llamada sucesión de FIBONACCI es: 0, 1, 1, 2, 3, 5, 8, 13, …

Cada término es igual a la suma de los dos anteriores.

Resultado:

Código del ejercicio:

var anterior,ultimo,aux;
anterior=0;
ultimo=1;
var solucion;
solucion="0 - 1";
while (ultimo<=25000000000000)
{
    aux=anterior+ultimo;
    anterior=ultimo;
    ultimo=aux;
    if (ultimo>0) solucion=solucion+" - "+ultimo;
}
alert(solucion);

Ejercicio 4: Cálculo de factoriales

Resultado:

Código del ejercicio:

var fin;
var num=2;
var fact;
var solucion="";
fin=prompt("Cálculo de factoriales\n Factoriales hasta el número?","");
fin=parseFloat(fin);
while (num<=fin)
{
    fact=1;
    for (i=1;i<=num;i++)
    {
        fact=fact*i;
    }
    solucion=solucion+" - "+fact;
    num++;
}
alert(solucion);

Bajar el archivo de texto con el código completo

Volver