1 / 18

CICLOS EN C – PARTE 2

CICLOS EN C – PARTE 2. MENU DEL DIA. Repaso clase anterior. Estructuras en C. Bucles en C. Operadores de incremento y decremento - abreviados. Ciclo While en C. Ciclo For en C. ESTRUCTURAS EN C. if ( expresión_logica ) { código_secuencia1; } else { código_secuencia2; }.

makan
Download Presentation

CICLOS EN C – PARTE 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CICLOS EN C – PARTE 2

  2. MENU DEL DIA • Repaso clase anterior. • Estructuras en C. • Bucles en C. • Operadores de incremento y decremento - abreviados. • Ciclo While en C. • Ciclo For en C

  3. ESTRUCTURAS EN C if (expresión_logica) { código_secuencia1; } else { código_secuencia2; } SI (expresión_logica) ENTONCES secuencia 1 | camino 1 SINO Secuencia 2 | camino 2 FIN_SI MIENTRAS(expresión_logica)HAGA secuencia FIN_MIENTRAS while (expresion_logica) { secuencia } for(expre1;expre2;expre3) { secuencia; } PARA (VC = LI,LF,INC) HAGA secuencia FIN_PARA

  4. BUCLES EN C condición cuerpo

  5. OPERADORES DE INCREMENTO Y DECREMENTO - ABREVIADOS Post  Primero se asigna y luego se incrementa o decrementa. z = x++ Cuando hay una operación de asignación que involucre operaciones de este tipo Pre  Primero se incrementa o decrementa y luego se asigna. 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; +, -, *, /

  6. CICLO WHILE EN C Recomendaciones (preguntas clave - requisitos) Sintaxis: • 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). MIENTRAS(expresión_logica)HAGA secuencia FIN_MIENTRAS while (expresion_logica) { secuencia }

  7. CICLO FOR EN C condición cuerpo

  8. CICLO WHILE EN C La sentencia for (bucle for) es un método para controlar una sentencia o bloque de sentencias un numero fijo de veces. Este bucle es mas adecuado para implementar bucles controlados por contador, es decir bucles de conteo en los que el numero de repeticiones se conoce por anticipado. Sintaxis: PARA(VC = LI,LF,INC)HAGA secuencia FIN_PARA for (expre1;expre2;expre3) { secuencia }

  9. CICLO FOR EN C expre1 – inicialización: Da un valor inicial a la variable de control del bucle. Se ejecuta solo una vez antes de la evaluación de la expresión de control. Se pueden inicializar una o varias variables. expre2 – Expresión de control: Condición que contiene una expresión lógica, mientras sea verdadera se realiza el bucle. expre3 – ajuste (actualización): Incrementa o decrementa la variable de control del bucle. for (expre1;expre2;expre3) { secuencia } PARA(VC = LI,LF,INC)HAGA secuencia FIN_PARA secuencia: Sentencias a ejecutar en cada iteración del bucle. LF: Ajuste (+/-) VC: Valor final VC: Valor inicial VC: Variable de control

  10. CICLO FOR EN C • Existen dos formas de implementación de la sentencia for. for (expre1;expre2;expre3) { secuencia } for(var_control=valor_inicial; var_control<=valor_limite; exp_incremento) { secuencias; } Forma ascendente La variable de control se incrementa for(i = 0; i <= 10; i++) for(i = -1; i <= 7; i+=2) for(i = -100; i <= -20; i*=5) for(i = -1; i <= 1; i = 10) for(var_control=valor_inicial; var_control>=valor_limite; exp_decremento) { secuencias; } Forma ascendente La variable de control se decrementa for(i = 100; i >= 10; i-=40) for(i = 25; i >= 7; i-=2) for(i = 0; i >= -10; i--) for(i = -150; i >= -750; i-=20)

  11. CICLO WHILE 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 <100; n +=20) printf(“%d %d \n”, n, n*n); int k; for(k = 1; k < 100; k *=2) { printf(“%d\n”, k); } int j; for(j = 9; j >= 2; j -= 2) { printf(“%d\n”, i - 1); } int; for(i = ‘a’; i <= ‘h’; i += 3) { printf(“%d %c \n”, i, i); }

  12. CICLO FOR EN C • La(s) variable de control se puede incrementar o decrementar no solo en valores tipo int, también 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 <= 5; p += 0.25) { printf(“p = %lf\n”, p); } float n; for(n = 1; n >= 0; n -= 0.1) { printf(“n = %f\n”, n); }

  13. CICLO FOR EN C • Cuando no se tiene expresión de inicialización, condición y actualización (incremento o decremento) en el bucle for, este se ejecuta de manera infinita for (;;) { printf(“fuck! \n”); } Para romper la ejecución de un programa presione las teclas CTRL + C

  14. CICLO FOR EN C • Situar un punto y coma (;) después del paréntesis inicial de un bucle for hace que el cuerpo del bucle este vacio. for (i = 1; i <= 10;i++); printf(“Solo sale una vez\n ”); • El operador coma (,) permite extender la flexibilidad del ciclo for ya que este permite incluir mas de una expresión de inicialización o actualización en una única especificación del loop. #define MAX 25 int i, j; for (j = 0, j <= MAX; i < j; i++,j--) { printf(“%d ”, (i + 2*j)); }

  15. CICLO FOR EN C Ojo, si el cuerpo de un bucle de conteo modifica los valores de cualquier variable implicada en la condición del bucle, entonces el numero de repeticiones se puede ver afecta; es decir, no es recomendable modificar el valor de cualquier variable de condición dentro del cuerpo de un bucle for, ya que esto puede producir resultados imprevistos. . . . int i; . . . for (i <= 1; i <= 11; i++) { printf(“***\n”); i++; }

  16. SENTENCIAS BREAK y CONTINUE break Esta sentencia termina la ejecución del bucle, permitiendo que el punto de control de la ejecución se salga del bucle. . . . int j; . . . for (j <= 1; i < 10; j++) { printf(“no te doy otra no mas !!!!\n”); if (i > 3) { break; } } Continue Hace que la ejecución del bucle vuelva a la cabecera del bucle. . . . int j; . . . for (j <= 1; i < 10; j++) { printf(“no te doy otra no mas !!!!\n”); if (i > 3 && i <= 9) { continue; } }

  17. SENTENCIAS BREAK y CONTINUE break Esta sentencia termina la ejecución del bucle, permitiendo que el punto de control de la ejecución se salga del bucle. . . . int j; . . . for (j <= 1; i < 10; j++) { printf(“no te doy otra no mas !!!!\n”); if (i > 3) { break; } } Continue Hace que la ejecución del bucle vuelva a la cabecera del bucle. . . . int j; . . . for (j <= 1; i < 10; j++) { printf(“no te doy otra no mas !!!!\n”); if (i > 3 && i <= 9) { continue; } }

More Related