Computación III Tema 7 Uso de construcciones de bucle 1 Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Aplicar el bucle while en un programa en lenguaje Java. Aplicar el bucle for en un programa en lenguaje Java. Aplicar el bucle do/while en un programa en lenguaje Java. 2 1
Introducción al tema Te has imaginado cómo está programada aquella tarjeta virtual en donde comienzan a salir una gran cantidad de burbujas y se detienen cuando realizas algún movimiento con el mouse? Esto se realiza a través del manejo de bucles o ciclos. 3 Introducción al tema Conjuntando las herramientas de toma de decisiones (if / else y switch) con los bucles, tendrás un sinfín de posibilidades para determinar el flujo y acción de tus programas. 4 2
Bucles while Permite ejecutar ciertas instrucciones mientras se cumpla una determinada condición. Un bucle while requiere de una expresión a evaluar que genera un resultado true o false (verdadero o falso). Si la expresión genera un resultado false, el conjunto de instrucciones no se ejecutará o deja de ejecutarse. 5 Bucles while Sintáxis: while (condición) { Instrucciones que se ejecutarán repetidamente mientras la condición se cumpla En este tipo de ciclos, las instrucciones se ejecutan solo si se cumple la condición, pudiera darse el caso que ni una sola vez se cumpla la condición. 6 3
Bucles while Algoritmo 1. Inicializar la variable x en 1. 2. Mientras x sea menor o igual a 100. 3. Imprime en pantalla el valor de la variable x. 4. Incrementa en una unidad el valor de la variable x. 5. Compara nuevamente desde el punto 2. Este ejemplo se programaría en Java de la siguiente forma: int x=1; // inicializar la variable en 1. while(x<=100) // compara la condición, si es verdadera continúa { System.out.println ( El valor de x es : + x); x++; 7 Bucles for La instrucción for permite ejecutar ciertas instrucciones un número determinado de veces. En este caso, de antemano sabemos cuantas veces queremos que se repita el ciclo. Sintaxis: for (inicialización; condición; incremento / decremento) { Instrucciones que se ejecutarán repetidamente mientras la condición se cumpla La variable se inicializa con el número de veces que se repetirá el ciclo. 8 4
Bucles for Algoritmo: 1. La variable m inicializa con valor de 1. 2. El ciclo se debe repetir 10 veces. 3. Se imprime el valor de la variable m. Ejemplo: for (int m=1; m<=10; m++){ System.out.println( El número es: + m); 9 Bucles for En el ejemplo podemos identificar que, a diferencia de la instrucción while, el incremento de la variable que define la condición, está integrada como parámetro de la instrucción for. Podemos identificar que se imprimirá en pantalla el texto El número es: m tal cantidad de veces hasta que la condición de que m sea menor o igual a 10 ya no se cumpla. 10 5
Bucles do/while La instrucción do/while es muy similar a la instrucción while, la diferencia es que la condición se evalúa al final de haber ejecutado las instrucciones. En este caso al menos se llevará a cabo una vez el ciclo. Sintaxis: do { Instrucciones a ejecutar while(condición); 11 Bucles do/while Algoritmo: 1. Inicializa la variable en 1. 2. Imprime el valor de la variable contador. 3. Incrementa la variable. 4. Evalúa la condición y si se cumple se repite el ciclo. Ejemplo: int contador=1; do { System.out.println( El número es: + contador); contador++; while (contador < 10); 12 6
Bucles do/while Cuál es la diferencia entre while y do/while? En qué caso utilizarías for? 13 Salidas forzadas a bucles o ciclos La instrucción que nos permite realizar una salida forzada a un ciclo es break, de la misma forma que break nos marca el fin dentro de un bloque de instrucciones al hacer uso de la instrucción switch, dentro de los ciclos tiene la misma función. 14 7
Salidas forzadas a bucles o ciclos Ahora bien, por qué razón requerimos una salida forzada de un bucle? Es común que dentro de un bucle ya definido, si llegara a surgir algún otro suceso es necesario salir del bucle, por ejemplo, imagina que se está generando un ciclo que llega a tardar algunos segundos, en ocasiones, es común que el usuario presione la tecla escape y en ese momento forzamos la salida. 15 Salidas forzadas a bucles o ciclos Ejemplo: boolean escape_presionado=false; for (int i=1; i <=5; i ++){ escape_presionado=leer_tecla_escape(); if (escape_presionado==true){ break; 16 8
Salidas forzadas a bucles o ciclos En el ejemplo podemos identificar que mientras se ejecuta el bucle for si la variable escape_presionado adquiere el valor de true, se forza la salida del bucle. 17 Cierre El manejo de bucles permite el manejo de instrucciones repetitivas. Es importante identificar perfectamente el fin de un bucle, esto, para evitar caer en bucles infinitos, lo que definitivamente puede provocar un error durante la ejecución de tu programa. Con las herramientas que ya cuentas podrás estructurar el flujo de un programa con el uso de ciclos, así como con herramientas de toma de decisiones, lo que te permitirá desarrollar programas con alcances ilimitados, así mismo, podrás aplicar en el enfoque de programación orientada a objetos que verás en el siguiente módulo. 18 9
Referencias bibliográficas Microsystems Sun (2007). Programación Java para no Programadores SL-110-SE6. Santa Clara, California, EEUU. Marín, A. (2008). Programador Certificado JAVA 2. México: Alfaomega. 19 Créditos Diseño de contenido: Ing. Javier Castro Ruiz, MATI Lic. Ofelia Margarita Treviño Rodríguez, ME. Coordinador de Calidad Académica de Área L.I. Oscar Andrés Rodríguez Múgica, MATI Universidad TecMilenio Producción y edición del curso Tecnología Educativa Universidad Virtual, ITESM 20 10