Skip to main content

Ciclos - Capitulo 5

Introducción
Se puede usar un bucle para indicarle a un programa que ejecute sentencias repetidamente. Suponga que necesita mostrar una cadena (por ejemplo, ¡Bienvenido a Java!) Cientos de veces. Sería tedioso tener que escribir la siguiente declaración cien veces: 


Entonces, ¿cómo resuelves este problema? Java proporciona una construcción poderosa llamada bucle que controla cuántas veces se realiza una operación o una secuencia de operaciones en sucesión. Usando una declaración de bucle, simplemente le dice a la computadora que muestre una cadena cien veces sin tener que codificar la declaración de impresión cien veces, de la siguiente manera:
Ciclo While

Un ciclo while ejecuta declaraciones repetidamente mientras la condición es verdadera.


La figura 5.1a muestra el diagrama de flujo del ciclo while. La parte del ciclo que contiene las declaraciones que se repetirán se llama cuerpo del ciclo. Una ejecución única de un cuerpo de bucle se conoce como una iteración (o repetición) del bucle. Cada ciclo contiene una condición de continuación del ciclo, una expresión booleana que controla la ejecución del cuerpo. Se evalúa cada vez para determinar si se ejecuta el cuerpo del bucle. Si su evaluación es verdadera, se ejecuta el cuerpo del bucle; Si su evaluación es falsa, el ciclo completo termina y el control del programa pasa a la declaración que sigue al ciclo while. ¡El bucle para mostrar Bienvenido a Java! Cien veces introducido en la sección anterior es un ejemplo de un ciclo while. Su diagrama de flujo se muestra en la Figura 5.1b.


Este es el cuerpo del while con este ejemplo:

Nota: Asegúrese de que la condición de continuación del bucle eventualmente se vuelva falsa para que el bucle termine. Un error de programación común implica bucles infinitos (es decir, el bucle se ejecuta para siempre). Si su programa tarda un tiempo inusualmente largo en ejecutarse y no se detiene, puede tener un bucle infinito. Si está ejecutando el programa desde la ventana de comandos, presione CTRL + C para detenerlo.


Cuidado:
Los programadores a menudo cometen el error de ejecutar un ciclo una o más veces. Esto se conoce comúnmente como el error off-by-one. Por ejemplo, el siguiente bucle muestra Bienvenido a Java 101 veces en lugar de 100 veces. El error radica en la condición, que debe ser contar <100 en lugar de contar <= 100.

Control de un bucle con un valor centinela:
Otra técnica común para controlar un ciclo es designar un valor especial al leer y procesar un conjunto de valores. Este valor de entrada especial, conocido como valor centinela, significa el final de la entrada. Un bucle que utiliza un valor centinela para controlar su ejecución se denomina bucle controlado por centinela.
Ciclo do-while
Un ciclo do-while es lo mismo que un ciclo while excepto que ejecuta primero el cuerpo del ciclo y luego verifica la condición de continuación del ciclo. El ciclo do-while es una variación del ciclo while. Su sintaxis es:

Su diagrama de flujo de ejecución se muestra en la Figura 5.2. Primero se ejecuta el cuerpo del bucle y luego se evalúa la condición de continuación del bucle. Si la evaluación es verdadera, el cuerpo del bucle se ejecuta nuevamente; si es falso, el do-while
FIGURA 5.2 El ciclo do-while ejecuta primero el cuerpo del ciclo, luego verifica la condición de continuación del ciclo para determinar si continúa o termina el ciclo.
La diferencia entre un bucle while y un bucle do-while es el orden en que se evalúa la condición de continuación del bucle y se ejecuta el cuerpo del bucle. Puede escribir un bucle utilizando el bucle while o el bucle do-while. A veces, una es una opción más conveniente que la otra. Por ejemplo, puede reescribir el ciclo while en el Listado 5.5 usando un ciclo do-while, como se muestra en el Listado 5.6.
El ciclo for
Un bucle for tiene una sintaxis concisa para escribir bucles. A menudo escribes un bucle en la siguiente forma común:
La sintaxis de un for es: 
El diagrama de flujo del for es el siguiente: 
FIGURA 5.3 A para el bucle realiza una acción inicial una vez, luego ejecuta repetidamente las declaraciones en el cuerpo del bucle y realiza una acción después de una iteración cuando la condición de continuación del bucle se evalúa como verdadera.
La declaración del bucle for comienza con la palabra clave for, seguida de un par de paréntesis que encierra la estructura de control del bucle. Esta estructura consta de acción inicial, condición de continuación de bucle y acción después de cada iteración. La estructura de control es seguida por el cuerpo del bucle encerrado dentro de las llaves. La acción inicial, la condición de continuación de bucle y la acción después de cada iteración están separadas por punto y coma. Un bucle for generalmente usa una variable para controlar cuántas veces se ejecuta el cuerpo del bucle y cuándo termina el bucle. Esta variable se conoce como una variable de control. La iniciación a menudo inicializa una variable de control, la acción después de cada iteración generalmente aumenta o disminuye la variable de control y la condición de continuación del bucle prueba si la variable de control ha alcanzado un valor de terminación. Por ejemplo, lo siguiente para impresiones en bucle ¡Bienvenido a Java! cien veces:

Tip:
La variable de control debe declararse dentro de la estructura de control del bucle o antes del bucle. Si la variable de control de bucle se usa solo en el bucle, y no en otra parte, es una buena práctica de programación declararla en la acción inicial del bucle for. Si la variable se declara dentro de la estructura de control del bucle, no se puede hacer referencia fuera del bucle. En el código anterior, por ejemplo, usted puede

Nota:  
La acción inicial en un bucle for puede ser una lista de cero o más declaraciones de declaración de variables separadas por comas o expresiones de asignación. Por ejemplo:
La acción después de cada iteración en un bucle for puede ser una lista de cero o más declaraciones separadas por comas. Por ejemplo:
¿Cual ciclo usar?
Puede usar un bucle for, un bucle while o un bucle do-while, lo que sea conveniente. El bucle while y el bucle for se denominan bucles pretest porque la condición de continuación se verifica antes de ejecutar el cuerpo del bucle. El ciclo do-while se llama ciclo posttest porque la condición se verifica después de ejecutar el cuerpo del ciclo. Las tres formas de enunciados en bucle: while, do-while y for son expresamente equivalentes; es decir, puede escribir un bucle en cualquiera de estas tres formas. Por ejemplo, un ciclo while en (a) en la siguiente figura siempre se puede convertir en el ciclo for en (b).
Use la declaración de bucle que sea más intuitiva y cómoda para usted. En general, se puede usar un bucle for si se conoce de antemano el número de repeticiones, como, por ejemplo, cuando necesita mostrar un mensaje cien veces. Se puede usar un bucle while si el número de repeticiones no es fijo, como en el caso de leer los números hasta que la entrada sea 0. Se puede usar un bucle do-while para reemplazar un bucle while si se debe ejecutar el cuerpo del bucle. antes de probar la condición de continuación.

Bucles anidados
Un bucle se puede anidar dentro de otro bucle. Los bucles anidados consisten en un bucle externo y uno o más bucles internos. Cada vez que se repite el bucle externo, los bucles internos vuelven a entrar y comienzan de nuevo. El listado 5.7 presenta un programa que usa bucles anidados para mostrar una tabla de multiplicación.

Minimizar errores numéricos:
El uso de números de punto flotante en la condición de continuación del bucle puede causar errores numéricos. Los errores numéricos que involucran números de punto flotante son inevitables, porque los números de punto flotante se representan en forma aproximada en las computadoras por naturaleza. Esta sección discute cómo minimizar tales errores a través de un ejemplo. El listado 5.8 presenta un ejemplo que resume una serie que comienza con 0.01 y termina con 1.0. Los números en la serie se incrementarán en 0.01, de la siguiente manera: 0.01 + 0.02 + 0.03, y así sucesivamente.
Palabras break y continue:
Las palabras clave break y continue proporcionan controles adicionales en un bucle.

Break: Ha utilizado break de palabra clave en una declaración de cambio. También puede usar break in a loop para terminar inmediatamente el ciclo. El listado 5.12 presenta un programa para demostrar el efecto del uso de break in a loop.
Continue; También puede usar la palabra clave continue en un bucle. Cuando se encuentra, finaliza la iteración actual y el control del programa va al final del cuerpo del bucle. En otras palabras, continuar salta de una iteración mientras que la palabra clave de descanso sale de un bucle. El listado 5.13 presenta un programa para demostrar el efecto del uso de continuar en un ciclo.



Bibliografia

Y. Daniel Liang. (2011). INTRODUCTION TO JAVA PROGRAMMING COMPREHENSIVE VERSION. USA: Armstrong Atlantic State University.

Comments

Popular posts from this blog

Recorridos del arbol binario en c

Recorridos de arboles binarios:  Los recorridos en arboles binarios se encargar de imprimir cada nodo del árbol, desde su raíz o nodo padre, hasta todas su hojas o nodos hijos. Existen 3 tipos de recorridos: Preorden: Realiza estos pasos recursivamente: Imprime la raíz. Atraviesa e imprime los nodos del sub-árbol izquierdo. Atraviesa e imprime los nodos del sub-árbol derecho.     Inorden: Realiza estos paso recursivamente.  Atraviesa e imprime los nodos del sub-árbol izquierdo.  Imprime la raíz.  Atraviesa e imprime los nodos del sub-árbol derecho.   Postorden: Realiza estos pasos recursivamente:   Atraviesa e imprime los nodos del sub-árbol izquierdo.  Atraviesa e imprime los nodos del sub-árbol derecho.   Imprime la raíz.  Bibliografia Ruiz E. (2013). ejemplos recorridos arboles binarios. 18 de setiembre del 2019, de ingenieria de software y negocios inteligentes Sitio web...