Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ciclos en C
Ciclos en C
Bucles en C. Operadores de incremento y decremento. Ciclo while en C. Principios a considerar cuando se usan bucles. Formas de controlar bucles while. Ruptura de ciclos while
ESTRUCTURAS EN C
SI (expresin_logica) ENTONCES secuencia 1 | camino 1 SINO Secuencia 2 | camino 2 FIN_SI if (expresin_logica) { cdigo_secuencia1; } else { cdigo_secuencia2; }
for(expre1;expre2;expre3) { secuencia; }
CONDICIONALES EN C
if(condicion1) { instrucciones_condicion_1_verdadero } else if(condicion2){ instrucciones_condicion_2_verdadero } . . . else if(condicion_N) { instrucciones_condicion_N_verdadero } else { instrucciones_caso_falso }
CONDICIONALES EN C
switch(selector) { case valor_1: instrucciones_1; break; case valor_2: instrucciones_2; break; . . . case valor_N: instrucciones_N; break; default: instrucciones_default; break; }
Posibles valores que puede tomar el selector: Tipo carcter: a, @, 1, Tipo entero: 1, 2, 3, 4, -8,
BUCLES EN C
Un ciclo (bucle) es una estructura que permite la repeticin de una o mas instrucciones un determinado numero de veces.
condicin
Expresin lgica que controla la secuencia de repeticin. Normalmente, se evala antes de la ejecucin del cuerpo del bucle. Conjunto de instrucciones (asociadas al problema) que se ejecutan dentro del bucle: Estructuras condicionales. Instrucciones I/O. Otros bucles. Instrucciones de asignacion. Funciones.
cuerpo
BUCLES EN C
Variable de control: Variable que representa la condicin del bucle ya que su valor determina si el bucle se repite o no. Esta debe ser: Inicializada. Comprobada. Actualizada.
condicin
cuerpo
Preincremento
++i
i=i+1
Postdecremento
i--
i=i-1
predecremento
--i
i=i-1
que inicialmente i = 3 = 3, i = 4 = 5, i = 5 = 5, i = 4 = 3, i = 3
CICLO WHILE EN C
Funcionamiento: 1. Se evala la condicin del bucle. 2. Si la condicin del bucle es verdadera (distinto de 0): a. Se ejecutan las sentencias que se hallan dentro del cuerpo del bucle. b. Vuelve el control al paso 1. 3. Si la condicin del bucle es falsa, el control se transfiere a la secuencia siguiente al bucle. Sintaxis:
MIENTRAS(expresin_logica)HAGA secuencia FIN_MIENTRAS
CICLO WHILE EN C
Ejemplo 1 (Uso sencillo de un bucle while): Realizar un programa que imprima los nmeros desde el 1 hasta el 5.
while (expresion_logica) { secuencia }
CICLO WHILE EN C
Ejemplo 2 (Ejemplo anterior modificado usando un operador de preincremento): Realizar un programa que imprima los nmeros desde el 1 hasta el 5.
while (expresion_logica) { secuencia }
CICLO WHILE EN C
Algunas anotaciones sobre los ciclos while. El operador de incremento o decremento es comnmente usado para controlar la iteracin de un bucle.
while (i++ < N) { instruccin_1; . . . instruccin_N; } ejemplo2.c (anteriormente visto).
Un punto y coma (;) inmediatamente despus de la instruccin while hace que el ciclo no tenga cuerpo.
int i = 0, N = 10; while (i++ < N); printf(Hola mundo \n); Ver ejemplo3.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 instruccin. Por claridad es recomendable usar llaves as el cuerpo del ciclo tenga solo una instruccin.
int i = 0, N = 10; while (i++ < N) printf(Hola mundo \n); printf(Adios mundo cruel \n); Ver ejemplo4.c
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 condicin nunca se hace falsa (falta de actualizacin de la variable de control).
while (1) { printf(fuck! \n); } while (i > 0) { printf(fuck! \n); } while (4>3) { printf(fuck! \n); }
Ver ejemplo5.c
CICLO WHILE EN C
Un bucle no se ejecuta nunca si cuando se alcanza el while por primera vez la prueba o condicin de repeticin no se cumple, es decir si esta es falsa (0 en C).
while (0) { printf(mamolas! \n); } i = -1; while (i > 0) { printf(mamolas! \n); } while (4<3) { printf(mamolas! \n); }
Ver ejemplo6.c
Algunas preguntas de utilidad: Qu es lo que debe contener el cuerpo del bucle? Cuantas veces se itera el bucle.
Ver ejemplo7.c
Ver ejemplo8.c
Ver ejemplo10.c
El uso de un break en un bucle no es muy recomendable ya que puede hacer difcil la comprensin del comportamiento del programa.
int clave = -9; int entrada; while (scanf(%d,&entrada) && (entrada != clave)) { printf(%d,entrada); }