Una de las ordenes más comunes en lenguajes de programación es la utilización de bucles, en el lenguaje de programación C, podemos encontrar tres comandos u ordenes que permiten realizar bucles.

En algunos lenguajes de programación se realiza una distinción entre los diferentes tipos de bucles, catalogando los mismos entre bucles condicionales y bucles incondicionales.

Siendo los bucles condicionales aquellos que permiten repetir una serie de acciones u comandos, dependiendo del valor de evaluación de una condicional especificada, es decir repite un numero de acciones dependiendo que se cumpla o no una condición indicada.

Mientras que los bucles incondicionales son aquellos que en teoría no dependen de ningún tipo de condición, y normalmente son aquellos en los que conocemos el inicio y fin del bucle.

El problema en C, es que todos los bucles debido a su sintaxis utilizan una condición para establecer la repetición del bucle, por lo tanto se establecen las diferencias entre bucles de forma teórica.

El segundo tipo de bucle que vamos a ver es el comando denominado while, el cual se puede traducir por mientras. Teniendo la siguiente sintaxis:

while ( condición_a_evaluar ) { 
   acción/es a realizar ; 
   acción/es a realizar ;     
};

En este tipo de bucle en primer lugar se realiza la evaluación de la condición, y si esta se cumple, se ejecutan las acciones u comandos  que se encuentran dentro del bucle, una vez finalizadas las mismas, se vuelve a evaluar la condición y si se cumple se vuelve a repetir las acciones en caso contrario se finaliza el bucle.



La diferencia básica entre el bucle while y el bucle do…while, es que en el segundo se ejecutan como mínimo una vez las acciones contenidas dentro del bucle.

Teniendo en cuenta la sintaxis anterior, el siguiente ejercicio práctico con solución, plantea un algoritmo que visualice los números del 1 al 10.

/*
    Algoritmo que visualiza los numeros
    del 1 al 10, utilizando el bucle
    while  ( mientras )

    Ejercicio práctico de programación en C
    con solución comentada y resuelta.

*/



// Librerias a incluir
#include <stdio.h>
#include <stdlib.h>

// Funcion principal
int main()
{
    // Crear variables auxiliares
    int contador=0;

    // Inicializar el contador
    contador=1;
    // repetir mientras que el contador tenga
    // un valor inferior a 10
    while (contador<11) {
        // visualizar el valor de contador
        printf("\n%d",contador);
        // incrementar contador en una unidad
        contador=contador+1;
    };

    return 0;
}

// Se ha de tener en cuenta que el no incrementar
// el contador puede tener como consecuencia
// la ejecución de un bucle infinito y por tanto
// el bloqueo del programa.

El ejercicio práctico anterior resuelto ha de mostrar una solución similar a la que se muestra en la imagen siguiente.