Title: Control de Flujo III dowhile, for
1Control de Flujo (III)do-while, for
- Clase 9
- Introducción a la Programación
2Resumen de la clase anterior
- Ya podemos hacer programas más complejos
- Instrucción switch permite escoger entre varias
alternativas de una forma ordenada. - Instrucción while permite iterar mientras se
cumpla una condición. - Mini-tarea calculadora de promedios que recibe
una lista (para terminar escribir -1) e
imprime su promedio, mínimo y máximo.
3Instrucción do-while
do ... Bloque de instrucciones
... while ( expresión-booleana )
- Diferencia con while?
- Verifica la condición al final
- Por lo tanto el bloque de instrucciones se
ejecuta al menos una vez - Cuando puede ser útil? Ejemplos
- Calculadora de promedios (reescribirlo)
- En general, cualquier programa que verifique al
final si desea continuar
4Ejemplo juego, qué hace?
int marcador100 int imprimeMarcador()
static njugada0 njugada
printf("Jugada i - Marcador va en i.\n",
njugada, marcador) main() int c1, c2,
n printf(" Bienvenido al juego
\n") do printf("--- Jugador 1,
cual es su movida (1-10)? ") scanf("i",
n) marcador marcador - n
imprimeMarcador() if (marcador lt 0)
printf("Jugador 2 gano!\n")
break printf("--- Jugador 2,
cual es su movida (1-10)? ") scanf("i",
n) marcador marcador - n
imprimeMarcador() if (marcador lt 0)
printf("Jugador 1 gano!\n")
break while (marcador gt 0)
printf("Gracias por jugar\n")
5Instrucción for
for ( inicialización expresión-booleana
actualización ) ... Bloque de
instrucciones ...
- Instrucción similiar a while
- Realiza un ciclo en que
- Ocurre algo al inicio (inicialización)
- Mientras ocurre algo (expresión-booleana)
- Al final de cada ciclo realiza una acción
(actualización) - Por cada ciclo ejecuta el bloque de instrucciones
- Cómo es su diagrama de flujo?
6Instrucción for. Ejemplos
- 1. Se conoce de antemano la cantidad de
iteraciones - for (i 0 i lt 100 i)
- printf("d\n", i)
-
- 2. Ciclo infinito
- for ()
- ...
- instrucciones
- ...
-
7Uso típico de for
- Ciclos en que se conoce de antemano el número de
iteraciones a realizar - Contar de 0 a 99
- Contar de 100 a 1?
- Ciclo infinito
for (i 0 i lt 100 i)
printf("d\n", i)
Por qué no aparecen los ?
for () ... instrucciones
...
8Más ejemplos de for
- Hacer función que calcula x elevado a n.
- Estudiar programa del apunte conversión de
cantidades a letras.
9Ciclos anidados
- Significa que haya un ciclo dentro de otro
- Por ejemplo, se requiere para recorrer una matriz
1 1 1 2 1 3 1 4 1 5 2 1 2 2 2 3 2 4 2 5 3 1 3 2 3
3 3 4 3 5
for (i1 ilt3 i) for (j1 jlt5
j) printf("d d\n", i, j)