Curso de C++ desde cero

¿Cómo funciona el bucle while de C++?

Capítulo 14: El bucle while con ejemplos prácticos

En este capítulo cambiamos totalmente de tema. Dejamos atrás los condicionales para entrar de lleno en los bucles.

¿Qué son los bucles?

Los bucles son estructuras de código capaces de ejecutar cierto código en un número determinado o indeterminado de veces.

Gracias a los bucles, ahorraremos mucho código, evitaremos errores y haremos el código más fácil de leer.

El bucle while de C++

El bucle while, tiene una condición como los condicionales. La gran diferencia, es que se ejecuta tantas veces como sea necesario hasta que dicha condición pase de ser true a false. Es mucho más fácil de entender de lo que parece. Empecemos con la sintaxis y luego veamos algún ejemplo.

Pseudocódigo C++

while (condición) {
	// Código que se ejecuta mientras la condición sea true.
}
int i = 1;

while (i <= 10) {
	cout << "El valor del bucle es: " << i << "." << endl;
	i++;
}
El valor del bucle es: 1.
El valor del bucle es: 2.
El valor del bucle es: 3.
El valor del bucle es: 4.
El valor del bucle es: 5.
El valor del bucle es: 6.
El valor del bucle es: 7.
El valor del bucle es: 8.
El valor del bucle es: 9.
El valor del bucle es: 10.

El bucle se ha ejecutado un total de 10 veces. ¿Por qué?

Primero tenemos la variable i que por convención, se suele nombrar así para los bucles, no es obligatorio. Esta variable es la denominada como variable de control del bucle. ¿Qué controla? Controla la entrada y salida del bucle.

Si desde un principio no se cumple la condición del bucle, es decir que i sea mayor que 10, no se va a ejecutar el bucle ni una sola vez:

	int i = 20;

while (i <= 10) {
	cout << "El valor del bucle es: " << i << "." << endl;
	i++;
}

Pongamos de nuevo la variable i a 1.

Según la condición del while, mientras que i valga menos o igual a 10, se va a ir ejecutando. Se ejecuta el código que hay en su interior.

El operador de incremento de C++

En la línea 5 tenemos i++. Este es un nuevo operador ++ añadido al valor de la variable i. El operador de incremento.

El valor de la variable, para que vaya siendo incrementado y se ejecute un número 'x' de veces, debe ser incrementado. Con el operador de incremento, lo que hacemos es que cada ejecución del bucle, el valor de i aumente en 1.

¿Qué pasa si no se modifica el valor de la variable de control? La respuesta es sencilla. Tenemos un bucle infinito, puesto que el valor de i va a ser siempre el mismo, vuelta tras vuelta. Aquí puedes verlo:

int i = 1;

while (i <= 10) {
	cout << "El valor del bucle es: " << i << "." << endl;
}
El valor del bucle es : 1.
El valor del bucle es : 1.
El valor del bucle es : 1.
El valor del bucle es : 1.
El valor del bucle es : 1.
El valor del bucle es : 1.
El valor del bucle es : 1.
El valor del bucle es : 1.
El valor del bucle es : 1.
El valor del bucle es : 1.
El valor del bucle es : 1.
El valor del bucle es : 1.
El valor del bucle es : 1.
El valor del bucle es : 1.
El valor del bucle es : 1.
El valor del bucle es : 1.
El valor del bucle es : 1.
El valor del bucle es : 1.
... infinito ...

El operador de decremento de C++

En los bucles, no solo podemos utilizar el incremento. También tenemos el operador de decremento --, el cual, resta 1 al valor. Todo lo contrario que el incremento.

int i = 5;

while (i >= 1) {
	cout << "El valor del bucle es: " << i << "." << endl;
	i--;
}
El valor del bucle es: 5.
El valor del bucle es: 4.
El valor del bucle es: 3.
El valor del bucle es: 2.
El valor del bucle es: 1.

Esta vez, empezamos con un 5 en la variable de control la condición es que sea mayor o igual a 1. A cada ejecución se le va restando 1 hasta que i vale 0 y ya no se ejecuta más el bucle, porque 0 no es mayor o igual a 1.

Podemos dar saltos de incremento o decremento de más de 1 con los operadores de asignación de suma += o resta -=.

int i = 10;

while (i <= 50) {
	cout << "El valor del bucle es: " << i << "." << endl;
	i += 10;
}
El valor del bucle es: 10.
El valor del bucle es: 20.
El valor del bucle es: 30.
El valor del bucle es: 40.
El valor del bucle es: 50.
int i = 100;

while (i >= 50) {
	cout << "El valor del bucle es: " << i << "." << endl;
	i -= 10;
}
El valor del bucle es: 100.
El valor del bucle es: 90.
El valor del bucle es: 80.
El valor del bucle es: 70.
El valor del bucle es: 60.
El valor del bucle es: 50.

Comentarios

Si te quedan dudas sobre el temario, sobre C++, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.

Programación Fácil YouTube

Suscríbete

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.