Curso de C++ (Página 5b)

pagina005a Principal pagina005c

CAPITULO 5b Sentencias

Bucles

Estos tipos de sentencias son el núcleo de cualquier lenguaje de programación, y están presentes en la mayor parte de ellos. Nos permiten realizar tareas repetitivas, y se usan en la resolución de la mayor parte de los problemas.

Bucles "while"

Es la sentencia de bucle más sencilla, y sin embargo es tremendamente potente. La sintaxis es la siguiente:

while (<condición>) <sentencia>

La sentencia es ejecutada repetidamente mientras la condición sea verdadera, ("while" en inglés significa "mientras"). Si no se especifica condición se asume que es "true", y el bucle se ejecutará indefinidamente. Si la primera vez que se evalúa la condición resulta falsa, la sentencia no se ejecutará ninguna vez.

Por ejemplo:

while (x < 100) x = x + 1; 

Se incrementará el valor de x mientras x sea menor que 100.

Este ejemplo puede escribirse, usando el C con propiedad y elegancia, de un modo más compacto:

while (x++ < 100); 

Aquí vemos el uso de una sentencia nula, observa que el bucle simplemente se repite, y la sentencia ejecutada es ";", es decir, nada.

Bucle "do while"

Esta sentencia va un paso más allá que el "while". La sintaxis es la siguiente:

do <sentencia> while(<condicion>);

La sentencia es ejecutada repetidamente mientras la condición resulte falsa. Si no se especifica condición se asume que es "true", y el bucle se ejecutará indefinidamente. A diferencia del bucle "while", la evaluación se realiza después de ejecutar la sentencia, de modo que se ejecutará al menos una vez. Por ejemplo:

do
   x = x + 1;
while (x < 100);

Se incrementará el valor de x hasta que x valga 100.

Bucle "for"

Por último el bucle "for", es el más elaborado. La sintaxis es:

for ( [<inicialización>]; [<condición>] ; [<incremento>] ) <sentencia>

La sentencia es ejecutada repetidamente hasta que la evaluación de la condición resulte falsa.

Antes de la primera iteración se ejecutará la inicialización del bucle, que puede ser una expresión o una declaración. En este apartado se iniciarán las variables usadas en el bucle. Estas variables pueden ser declaradas en este punto, pero tendrán validez sólo dentro del bucle "for". Después de cada iteración se ejecutará el incremento de las variables del bucle.

Todas las expresiones son opcionales, si no se especifica la condición se asume que es verdadera. Ejemplos:

for(int i = 0; i < 100; i = i + 1); 

Como las expresiones son opcionales, podemos simular bucles "while":

for(;i < 100;) i = i +1;
for(;i++ < 100;); 

O bucles infinitos:

for(;;); 

pagina005a Principal pagina005c