You are on page 1of 15

Universidad Autnoma de Yucatn Facultad de Ingeniera Introduccin a la Computacin

Programacin en C++ Decisiones y bucles

Dra. Karla Cantn Marzo 5, 2014

Bucles
Un bucle se utiliza para repetir una seccin o bloque de cdigo. Esto es, que se ejecute el bloque en cuestin las veces necesarias hasta que se cumpla alguna condicin de terminacin. Hay tres tipos de bucles o loops: for, while y do-while

Tipo de bucle while

Descripcin Repite una instruccin o grupo de instrucciones mientras una condicin dada es verdadera. Pone a prueba la condicin antes de ejecutar el cuerpo del bucle. Ejecutar una secuencia de sentencias mltiples veces y abrevia el cdigo que maneja la variable de bucle Como una la declaracin while, excepto que la condicin se prueba al final del cuerpo del bucle Pueden utilizarse uno o ms de bucle dentro de cualquier otro: while, for do .. while.

for do-while Bucles anidados

Sentencias de control de bucle


Sentencias de control de bucle cambian ejecucin de su secuencia normal. Cuando la ejecucin sale de un bloque de instrucciones, se destruyen todos los objetos automticos que se crearon en ese mbito. C + + es compatible con las siguientes sentencias de control

Instrucciones de control break

Descripcin Termina el bucle o declaracin switch y transfiere la ejecucin a la instruccin que sigue inmediatamente al loop switch. Fuerza para que la prxima iteracin del bucle que tenga lugar, saltndose cualquier cdigo en el medio. Transfiere el control a la instruccin con etiqueta referenciada. (Aunque no se aconseja el uso de goto )

continue goto

While loop
Ejecuta repetidamente un bloque del cdigo, siempre y cuando la condicin establecida sea verdadera. Sintaxis
while(condition) { statement(s); }

Aqu, punto clave del bucle while es que el bucle podra no llegar nunca. Cuando la condicin es puesta a prueba y el resultado es falso, el cuerpo del bucle se omite y se ejecutar la primera instruccin despus del bucle while .

For loop
Es una estructura de control de repeticin que permite escribir un loop que necesite ejecutarse un nmero especfico de veces. Sintaxis
for ( init; condition; increment ) { statement(s); }

El paso init se ejecuta en primer lugar y slo una vez. ste permite declarar e inicializar las variables control de bucle. No es necesario que ponga aqu una declaracin si se escribe (;) La condicin se evala. Si es verdadera, el cuerpo del bucle se ejecuta; si no, el cuerpo del bucle no se ejecuta y el flujo de control pasa a la siguiente instruccin justo despus del bucle for. Despus de que el cuerpo del bucle for se ejecuta, el flujo de control salta a la instruccin de incremento. sta permite actualizar las variables de control.

La condicin evala de nuevo. Si es verdadera, el bucle se ejecuta y el proceso se repite (cuerpo del bucle, seguido por el incremento y seguido la eveluacin de la condicin). Cuando la condicin se convierte en falsa, el bucle for termina.

Do-While loop
Comprueba la condicin en la parte inferior. Un bucle do...while garantiza ejecutar al menos una vez el cuerpo del bucle. Sintaxis
do { statement(s); }while( condition );

break;
Cuando la instruccin break se encuentra dentro de un bucle, el bucle termina inmediatamente y el programa se reanuda en la siguiente instruccin del bucle. Se puede utilizar para poner fin a un caso en la instruccin switch. Si est utilizando bucles anidados, la instruccin break se detendr la ejecucin del bucle ms interior y empezar a realizar la siguiente lnea de cdigo despus del bloque.

continue;
La instruccin continue obliga a que la siguiente iteracin del bucle se ejecute, omitiendo cualquier cdigo entre ellos. Para el bucle for, obliga a que sea probado el condicional y que se realice el incremento del bucle. Para el bucle while y do...while, la ejecucin del programa pasa a la prueba del condicional.

goto label;

label: statement;
Proporciona un salto incondicional desde el goto hasta la instruccin etiquetada en la misma funcin. NOTA: El uso de instruccin goto es poco recomendable, porque se hace difcil seguir el flujo de ejecucin del programa, por lo que se dificulta de entenderlo y modificarlo. Por lo anterior se recomienda que cualquier programa que utilize un goto sea reescrito para que no necesite dicha instruccin.

Un buen uso para el goto es salir de una rutina muy anidada, ejemplo: Eliminar el goto implicara que una serie de pruebas adicionales se realizaran. La instruccin break no funcionara aqu, porque slo hara que el programa salga del bucle interior.

for(...) { for(...) { while(...) { if(...) goto stop; . . . } } } stop: cout << "Error in program.\n";

You might also like