Documentos de Académico
Documentos de Profesional
Documentos de Cultura
T04 - Estructura Bucles While
T04 - Estructura Bucles While
EN C
MENU DEL DIA
• Bucles en C.
• Ciclo while en C.
if (condicion) {
instrucciones_caso_verdadero if(condicion1) {
} instrucciones_condicion_1_verdadero
else { }
instrucciones_caso_falso else if(condicion2){
} instrucciones_condicion_2_verdadero
}
. . .
else if(condicion_N) {
instrucciones_condicion_N_verdadero
}
else {
instrucciones_caso_falso
(A==B)&&(C!=D) }
(edad>=18)&&(edad<=25)
(A<100)||(A>1000)
!(digito==1)
CONDICIONALES EN C
switch(selector) {
case valor_1: Variable que puede tomar
instrucciones_1; determinados valores
break; ordinales.
case valor_2:
instrucciones_2;
break;
. . . Posibles valores que puede
case valor_N: tomar el selector:
instrucciones_N; • Tipo carácter: ‘a’, ‘@’, ‘1’,
break; …
default:
instrucciones_default;
• Tipo entero: 1, 2, 3, 4, -8, …
break;
}
No es necesario usar la
palabra clave break en el
default
BUCLES EN C
Conjunto de instrucciones
cuerpo
(asociadas al problema) que
se ejecutan dentro del bucle:
• Estructuras condicionales.
• Instrucciones I/O.
• Otros bucles.
• Instrucciones de asignacion.
• Funciones.
BUCLES EN C
Variable de control: Variable que
representa la condición del bucle ya
que su valor determina si el bucle se
repite o no. Esta debe ser:
• Inicializada.
• Comprobada.
condición • Actualizada.
cuerpo Inicializaci
contador = 0;
ón
while (contador < n){ Comprobaci
printf(*);
ón
contador = contador + 1; Actualizació
}
n
MIENTRAS(expresión_logica)HAGA
secuencia
FIN_MIENTRAS
while (expresion_logica) {
secuencia
}
CICLO WHILE EN C
!=
int i = 0, N = 10;
while (i++ < N)
printf(“Hola mundo \n”);
CICLO WHILE EN C
Algunas anotaciones sobre los ciclos while.
• Cuando no se usan llaves el cuerpo del bucle solo tendrá una sola instrucción. Por claridad es
recomendable usar llaves así el cuerpo del ciclo tenga solo una instrucción.
int i = 0, N = 10;
while (i++ < N)
Ver ejemplo4.c
printf(“Hola mundo \n”);
printf(“Adios mundo cruel \n”);
=
=
int i = 0, N = 10;
while (i++ < N) {
printf(“Hola mundo \n”);
}
printf(“Adios mundo cruel \n”);
CICLO WHILE EN C
• Un bucle while se puede ejecutar siempre si su condición nunca se hace falsa (falta de actualización
de la variable de control).
Ver ejemplo6.c
PRINCIPIOS A CONSIDERAR
CUANDO SE USAN BUCLES C
Es importante
analizar los
requisitos del
Algunas preguntas nuevo bucle, pues ¿Qué principios
de utilidad: se debe considerar cuando
• ¿Qué es lo que determinar su se diseñan
debe contener el inicialización, bucles?
cuerpo del bucle? prueba y
• Cuantas veces se actualización.
itera el bucle.
FORMAS DE CONTROLAR BUCLES
WHILE (1)
• Bucles controlados por centinelas: Normalmente cuando no se conocen con exactitud cuantas
veces se ejecutara un ciclo se hace necesario el uso de una valor centinela.
• Un valor centinela es un valor que no se procesa como dato y es empleado para terminar el bucle.
Ver ejemplo7.c
FORMAS DE CONTROLAR BUCLES
WHILE (2)
• Bucles controlados por indicadores (banderas): Una bandera es una variable entera que puede
tomar dos posibles valores (0: falso o 1: verdadero). Un bucle controlado por bandera-indicador se
ejecuta hasta que se produce un suceso anticipado y se cambia el valor del indicador.
Ver ejemplo8.c
FORMAS DE CONTROLAR BUCLES
WHILE (3)
• Para evitar el problema de asociado al valor del dato centinela se puede hacer uso de otra variable
(que no tenga que ver nada con los datos a procesar) para controlar la ejecución del bucle. En otras
palabras usar una bandera.
Ver ejemplo10.c
RUPTURA DE CICLOS WHILE
La sentencia break es comúnmente para realizar la terminación anormal de un ciclo.
int clave = -9;
int entrada;
while (condicion) {
while (scanf(“%d”,&entrada)) {
if(condicion2) {
if(entrada != clave)
break;
printf(“%d”,entrada);
}
else
}
break;
}
El uso de un break en un bucle no es muy recomendable ya que puede hacer difícil la comprensión
del comportamiento del programa.