Estructuras de repetición
for while do-while
Qué son?
●
Una estructura de repetición permite que un bloque de instrucciones sea ejecutado más de una vez. Cuando un bloque de instrucciones es terminado de ejecutar, tenemos una iteración. Para controlar el número de iteraciones, se necesita una expresión booleana, que determina el número de iteraciones.
●
●
Donde existen lasiteracciones?
●
Los ejemplos que requieren iteraciones son mucho más de lo que a simple vista parece.
– – – – – –
El ticket entregado en un centro comercial. La ejecución de una aplicación. Calcular una serie, o una integral. Una simulación. La busqueda de información etc.
Taxonomía
●
Las estructuras de repetición tienen dos propiedades principales:
–
El número máximo deiteraciones
●
Sí expresión booleana No Instrucciones a repetir
delimitado vs variable
–
El mínimo número de iteraciones de un bloque
● ●
fin
cero o más al menos uno
Ejemplos
●
Compras
– –
se requiere al menos un producto para generar un ticket El número de productos que se compran no se conoce no se puede establecer
●
El control digital de señal, como el volumen deun televisor.
–
El volumen mínimo y máximo estan claramente establecidos.
Estructuras de repeticion en Java
Iteraciones: máximo mínimo Manejo de contadores Sí
for while do-while
Delimitado cero debe establecerse con anterioridad controlado por expresión booleano cero
No
Controlado por expresion booleana
una
No
Estructura de repetición for
●
Esta estructurapermite la iteración controlada de una o más instrucciones en un bloque. Sintáxis:
– –
●
for ( inicialización ; condicional ; incremento ) Instrucción o bloque Donde:
● ●
Inicialización: expresión que inicializa el ciclo condicional: expresión booleana, la siguiente iteracción se ejecuta si esta expresion es verdadera incremento: Al final de una iteracción, se evalua la expresionincremento.
●
Diagrama de flujo para for:
Notas:
Inicialización
- Inicialización solamente se ejecuta una vez.
incremento
condicional
Sí
Instrucción / bloque
- El incremento solamente es ejecutado si las instrucciones son ejecutadas. - Puede haber cero iteraciones. - Para evitar inestabilidades en un ciclo, el condicional depende de variables que son inicializadas e incrementadasen las zonas respectivas.
no termina ciclo
for
●
Ejemplo: hacer un programa que imprima en pantalla la secuencia: 1,2,3,4,5,6,7,9,10
for ( i = 0; i < 11; i++) System.out.printf( “ i = %d\n” , i ); El número de iteraciones es conocido: 11-1 = 10 for ( i = 3; i = minval ; i--) instrucción o bloque
Ejemplos
●
Considere el problema de obtener los números pares entre 10 y 40.Considere el problema de obtener los primeros 20 pares, mayores que cero. ... Cómo resolverlo? ... Qué opciones hay? la solución debe ser con lazo FOR.
●
● ● ●
for + if
●
(Se omite resto de plantilla)
int contador; for ( contador = 10; contador < 41; contador++) if ( contador % 2 == 0 ) System.out.printf(“par: %d\n”,contador);
Diagrama de flujo
contador = 10
Sí contador < 41es contador % 2 == 0?
No contador ++
No termina ciclo
Sí Imprime # par
Aplicaciones comunes
●
Sumatorias
–
∑f
∏f
●
Productos
–
Ejemplo:
●
Implemente el factorial como una función
public class factorialDemo{ public static void main(String args[] ){ System.out.printf(“ Fact(5) = %d” , factorial(5) ); } // Implementación del factorial. public static longfactorial( int n) { int i , f = 1; for (i=1; i < n; i++) f = f * i; return(f); } }
formato de entrega
●
SI NO RESPETA EL FORMATO, SE PENALIZARA LA ENTREGA. ojo! lleva
– –
[programacion] repeticion num
espacio!!!!
asegurese de que el numero de programa y el programa correspondan. lea correo enviado respecto. use sangria
–
●
borre sus programas de la computadora donde trabaje....
Regístrate para leer el documento completo.