Download - CICLOS EN C
-
Ciclos en C
Facultad de Ingeniera
-
Contenido
Estructuras en C.
Bucles en C:
Ciclo While en C.
Ciclo do While en C
Ciclo For en C
Operadores de incremento y decremento - abreviados.
Sentencia Break y contine
Comparacin y Resumen de ciclos
Ejercicios complementarios
-
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;
}
MIENTRAS(expresin_logica)HAGA
secuencia
FIN_MIENTRAS
while (expresion_logica) {
secuencia
}
PARA (VC = LI,LF,INC) HAGA
secuencia
FIN_PARA
for(expre1;expre2;expre3) {
secuencia;
}
-
Bucles en c
condicin
cuerpo
-
Ciclo for en C
condicin
cuerpo
-
Ciclo for en C
La sentencia for (bucle for) es un mtodo para controlar una sentencia o bloque desentencias un numero fijo de veces.
Este bucle es mas adecuado para implementar bucles controlados por contador, esdecir bucles de conteo en los que el numero de repeticiones se conoce por
anticipado.
PARA(VC = LI,LF,INC)HAGA
secuencia
FIN_PARA
for (expre1;expre2;expre3) {
secuencia
}
Sintaxis:
-
Ciclo for en C
PARA(VC = LI,LF,INC)HAGA
secuencia
FIN_PARA
for (expre1;expre2;expre3) {
secuencia
}
expre1 inicializacin: Da un valorinicial a la variable de control delbucle. Se ejecuta solo una vez antesde la evaluacin de la expresin decontrol. Se pueden inicializar una ovarias variables.
expre2 Expresin de control:Condicin que contiene unaexpresin lgica, mientras seaverdadera se realiza el bucle.
expre3 ajuste (actualizacin):Incrementa o decrementa lavariable de control del bucle.
secuencia: Sentencias aejecutar en cada iteracin delbucle.
INC: Ajuste (+/-)
LF: Valor final
LI: Valor inicial
VC: Variable de control
-
Ciclo for en C
Existen dos formas de implementacin de la sentencia for.
for (expre1;expre2;expre3) {
secuencia
}
for(var_control=valor_inicial; var_control=valor_limite; exp_decremento) {
secuencias;
}
Forma ascendente
Forma ascendente
La variable de control se incrementa
La variable de control se decrementa
for(i = 0; i = -750; i-=20)
-
Ciclo for en C
Algunas anotaciones sobre los ciclos for. Los rangos de incremento o decremento de la variable o expresion de control del bucle pueden ser cualquier valor y no siempre 1, es decir 5, 10, 20, 4, etc, dependiendo de los intervalos que se necesiten.
int n = 0;
for(n = 0; n
-
Ciclo for en C
La(s) variable de control se puede incrementar o decrementar no solo envalores tipo int, tambin es posible realizar tales operaciones usando
valores tipo float o double permitiendo el incremento o decremento en
cantidades decimales.
double p;
for(p = 0.75; p = 0; n -= 0.1) { printf(n = %f\n, n);
}
-
Ciclo for en C
Cuando no se tiene expresin de inicializacin, condicin yactualizacin (incremento o decremento) en el bucle for, este se
ejecuta de manera infinita
for (;;) {
printf(Ahora! \n);
}
-
Ciclo for en C
Situar un punto y coma (;) despus del parntesis inicial de un bucle forhace que el cuerpo del bucle este vaco.
El operador coma (,) permite extender la flexibilidad del ciclo for ya que este permite incluir mas de una expresin de inicializacin o actualizacin en
una nica especificacin del loop.
for (i = 1; i
-
Ciclo for en C
Si el cuerpo de un bucle de conteo modifica los valores de cualquier variableimplicada en la condicin del bucle, entonces el numero de repeticiones se puede ver
afecta; es decir, no es recomendable modificar el valor de cualquier variable de
condicin dentro del cuerpo de un bucle for, ya que esto puede producir resultados
imprevistos.
. . .
int i;
. . .
for (i
-
Operadores de incremento y
decremento - abreviados
Operacin sintaxis Significado
Postincremento i++ i = i + 1
Preincremento ++i i = i + 1
Postdecremento i-- i = i - 1
predecremento --i i = i - 1
Post Primero se asigna y luego se incrementa o decrementa.
Pre Primero se incrementa o decrementa y luego se asigna.
Cuando hay una operacinde asignacin que involucreoperaciones de este tipo
z = x++
z = --x
a op= b a = a op b
+, -, *, /
a += b; a = a + b;c -= 2; c = c 2;d *= 3; d = 3*d;f /= g; f = f/g;
-
Ciclo While en c
MIENTRAS(expresin_logica)HAGA
secuencia
FIN_MIENTRAS
while (expresion_logica) {
secuencia
}
Sintaxis:
Recomendaciones (preguntas clave -
requisitos)
Control de ciclos
Caso cuantitativo. (Se conoce el numero de veces que se va a repetir el ciclo bucles controlados por contador).
Caso cualitativo. (No se conoce cuantas veces se va a repetir el ciclo).
Control por centinela. Control por indicador (bandera).
-
Ciclo do-while en C
El ciclo do-while es similar al ciclo while, la nica diferencia radica en que en este, la condicin es lo ultimo que se evala.
Esta caracterstica hace que el bucle se ejecute como mnimo una vez.
Funcionamiento
Inicialmente se ejecutan las sentencias dentro del cuerpo, posteriormente, se evala la condicin de control, si el resultado es verdadero se repite la
ejecucin del cuerpo del bucle. Este proceso continua hasta que la
condicin se haga falsa.
Repetir
secuencia
Hasta Que expresin_logica
do
{
secuencia
} while (expresion_logica);
Sintaxis:
-
Ciclo do while en C
Condicin: Expresin lgica que
determina si se repiten o no las
instrucciones contenidas en el cuerpo
del bucle.
secuencia: Sentencias a ejecutar
en cada iteracin del bucle.
do
{
secuencia
} while (expresion_logica);
-
Sentencias break y contine
Break: Esta sentencia termina la ejecucin del bucle, permitiendo que el punto de control de la ejecucin se salga del bucle.
Continue: Hace que la ejecucin del bucle vuelva a la cabecera del bucle
. . .
int j;
. . .
for (j 3) {
break;
}
}
. . .
int j;
. . .
for (j 3 && i
-
Anidamiento de Ciclos
El anidamiento de bucles es permitido. Los bucles anidados constan de un bucle externo con uno o mas bucles internos. Cada vez que se repite el
bucle externo, los bucles internos se repiten, se vuelven a evaluar los
componentes de control l y se ejecutan todas las iteraciones requeridas.
. . .
for (i= 0; i < 4; i++) {
printf ("Externo\t %d\n",i );
for (j = 0; j < i; j++) {
printf ("Interno\t\t% d \n",j );
}
}
printf("\n");
. . .
-
do
{
secuencia;
} while (expresion_logica);
for (expre1;expre2;expre3)
{
secuencia;
}
while (expresion_logica)
{
secuencia;
}
Resumen de ciclos en C
-
Comparacin de Ciclos en C
do
{
secuencia;
} while (expresion_logica);
for (expre1;expre2;expre3)
{
secuencia;
}
while (expresion_logica)
{
secuencia;
}
El uso mas frecuente de este
ciclo, es cuando la repeticin no
esta controlada por un contador;
el test de condicin procede a
cada repeticin del bucle; el
cuerpo del bucle puede no ser
ejecutado. Se debe utilizar
cuando se desea saltar el bucle si
la condicin es falsa.
Bucle de conteo, cuando el
numero de repeticiones se
conoce por anticipado y puede
ser controlado por un contador;
tambin es adecuado para bucles
que implican control no contable
del bucles con simples etapas de
inicializacin y de actualizacin;
el test de la condicin precede a
la ejecucin de la ejecucin del
cuerpo del bucle.
Adecuado en caso de que se
deba tener la certeza de que al
menos el bucle se ejecutara una
sola vez.
-
Ejercicios1. Escribir un programa utilizando dos bucles anidados, que visualice un rombo
de lado n, por ejemplo el el siguiente dibujo se visualiza cuando la entrada es
5:
2. Escribir un programa utilizando dos bucles anidados que visualice tringulos
como el siguiente (esta salida se obtiene cuando se digita 4):
-
EJERCICIOS
4. Encontrar el numero mayor de una serie de nmerospositivos.
5. Disear un programa que cuente el numero de susentradas que son positivos, negativos y cero.
6. Disear un programa que despliegue los N primerostrminos de la serie Fibonacci esta se muestra acontinuacin: 0, 1, 1, 2, 3, 5, 8, 13, 21, 33,
7. Realizar un programa que determine si un numeroingresado por teclado es primo o no.
8. Disear un programa que calcule y despliegue los Nprimeros nmeros primos.