1 / 20

CICLOS EN C – PARTE 3

CICLOS EN C – PARTE 3. 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; }.

magnar
Download Presentation

CICLOS EN C – PARTE 3

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 3

  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. CICLO FOR EN C • La implementación este tipo de bucles es mas recomendable cuando el numero de repeticiones del ciclo se conoce por anticipado (caso cuantitativo). • Un ciclo for es como un ciclo while solo que a diferencia de este, el ciclo for maneja lainicialización e incremento de manera automática. • Hay dos formas básicas de implementación de la sentencia for, la forma ascendente y la descendente. Sintaxis: PARA(VC = LI,LF,INC)HAGA secuencia FIN_PARA for (expre1;expre2;expre3) { secuencia }

  5. CICLO DO-WHILE EN C

  6. CICLO DO-WHILE EN C El ciclo do-while es similar al ciclo while, la única diferencia radica en que en este, la condición es lo ultimo que se evalúa. Esta característica hace que el bucle se ejecute como mínimo una vez. Funcionamiento Inicialmente se ejecutan las sentencias dentro del cuerpo, posteriormente, se evalúa la condición de control, si el resultado es verdadero se repite la ejecución del cuerpo del bucle. Este proceso continua hasta que la condición se haga falsa. Sintaxis: Repetir secuencia Hasta Que expresión_logica do { secuencia } while (expresion_logica);

  7. CICLO FOR EN C secuencia: Sentencias a ejecutar en cada iteración del bucle. do { secuencia } while (expresion_logica); condicion: Expresionlogica que determina si se repiten o no las instrucciones contenidas en el cuerpo del bucle.

  8. CICLO DO-WHILE EN C • El ciclo do-while es útil en circunstancias en las cuales se tiene la certeza que una determinada acción se ejecutara una o varias veces, pero al menos una vez. char opc; do { printf(“señoras y señores … estas ricas y deliciosas galletas llamadas wafer Bridge de colombina claro esta sin ninguna clase de compromiso …\n”); scanf(“%c”,&opc) switch(opc) { case ‘a’: printf(“sabor a vainilla\n”); break; case ‘b’: printf(“sabor a fresa\n”); break; case ‘q’: printf(“no siendo mas me retiro, no dejar papelitos en este medio de transporte para que el seño conductor me permita en una proxima vez trabajar\n”); break; default: printf(“Nada mi niño, no hay de ese sabor\n”); break; } } while(opc != q);

  9. CICLO DO-WHILE EN C char digito; . . . do { printf(“Introduzca un digito (0-9): ”); scanf(“%c”,&digito) } while ((digito<'0')||(digito>'9‘)); . . . char letra = ‘a’; . . . do { printf(“%d ”,car); car++; } while (car > ‘z’); . . . #define FINAL 21 . . . int x = 0; . . . do { printf(“%d ”,x++); } while (x<10); printf(“\n”,x++); . . .

  10. CICLO DO-WHILE EN C #define NUM_FINAL 20 int numero = 0; do { printf(“%d ”,numero); numero+=2; } while (numero <= NUM_FINAL); . . . #define NUM_FINAL 20 int numero = 0; while (numero <= NUM_FINAL) { printf(“%d ”,numero); numero+=2; } . . .

  11. RESUMEN BUCLES EN C while (expresion_logica) { secuencia; } for (expre1;expre2;expre3) { secuencia; } do { secuencia; } while (expresion_logica);

  12. COMPARACION BUCLES EN C while (expresion_logica) { secuencia; } for (expre1;expre2;expre3) { secuencia; } do { secuencia; } while (expresion_logica); El uso mas frecuente de este ciclo, es cuando la repetición no esta controlada por un contador; el test de condición procede a cada repetición del bucle; el cuerpo del bucle puede no ser ejecutado. Se debe utilizar cuando se desea saltar el bucle si la condición es falsa. Bucle de conteo, cuando el numero de repeticiones se conoce por anticipado y puede ser controlado por un contador; también es adecuado para bucles que implican control no contable del bucles con simples etapas de inicialización y de actualización; el test de la condición precede a la ejecución de la ejecución 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.

  13. DISEÑO DE BUCLES Al diseñar un bucle se necesitan considerar tres aspectos claves: Cuerpo del bucle. Sentencias de inicialización. Condiciones para la terminación del bucle. Métodos para terminar un bucle Alcanzar el tamaño de la secuencia de entrada: Este caso se da cuando la variable de control alcanza el valor final conocido con antelación . #define NUM_ALUMNOS 25 . . . int i; for (i = 0, i < NUM_ALUMNOS; i++) { printf(“Digite la nota del alumno %d: ”,i); scanf(“%f”,&nota); if(nota<3.0) { printf(“El alumno %d perdio\n”,i); } else { printf(“El alumno %d gano\n”,i); } } . . .

  14. DISEÑO DE BUCLES Preguntar antes de la iteración: La idea es preguntar al usuario después de cada iteración del bucle si este debe ser o no iterado de nuevo. . . . int numero, suma = 0; char resp = ‘S’; while ((resp == ‘S’) || (resp == ‘s’)) { printf(“Introduzca un numero: ”); scanf(“%d”,&numero); sums += numero; printf(“¿Existen mas numeros? (S para Si, N para No)”); scanf(“%d”,&resp); } . . .

  15. DISEÑO DE BUCLES Valor centinela: Un valor centinela es aquel que es totalmente distinto de todos los valores posibles de la lista que se esta leyendo indicando de este modo el final de la lista. Un ejemplo típico se presenta cuando se lee una lista de números positivos; un numero negativo se puede utilizar como valor centinela para indicar el final de la lista. . . . int numero, suma = 0; printf(“Introduzca una lista de numeros positivos \n”); printf(“Termine la lista con un numero negativo \n”); scanf(“%d”,&numero); while (numero >= 0) { printf(“Introduzca un numero: ”); suma += numero; scanf(“%d”,&numero); } printf(“La suma es %d suma. \n”,suma); . . .

  16. ANIDAMIENTO DE BUCLES 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"); . . .

  17. ANIDAMIENTO DE BUCLES . . . for (i= 0; i < filas; i++) { for (j= 0; j < num_espacios; j++) { printf (" "); } num_espacios--; for (j = 0; j < num_asteriscos; j++) { printf ("*"); } printf("\n"); num_asteriscos += 2; } printf("\n"); . . .

  18. EJERCICIOS Escribir un programa que visualice el siguiente dibujo: • Escribir un programa que visualice la siguiente salida:

  19. EJERCICIOS • Escribir un programa que visualice el siguiente dibujo: • Calcular el factorial de un numero leído desde el teclado utilizando las sentencias: while, do-while y for. • Encontrar el numero mayor de una serie de números positivos. • Escribir un programa que calcule la suma de los primeros 50 números enteros. • Diseñar un programa que cuente el numero de sus entradas que son positivos, negativos y cero. • Diseñar un programa que despliegue los N primeros términos de la serie Fibonacci esta se muestra a continuación: 0, 1, 1, 2, 3, 5, 8, 13, 21, 33,… • Realizar un programa que determine si un numero ingresado por teclado es primo o no. • Diseñar un programa que calcule y despliegue los N primeros números primos.

More Related