EL CICLO WHILE

 Se dice que todo programa se puede escribir usando sólo dos estructuras de control de flujo: la condicional if, y el ciclo while. En esta entrada les hablaré sobre el ciclo while o también conocido en español como mientras.


El ciclo controlado por condición inicial (while).

Recuerda que un ciclo (loop, lazo) es una estructura de control de flujo cuya función es repetir un conjunto de instrucciones varias veces. Esto nos permite escribir la solución una vez, y que se repita con un conjunto diverso de datos.

Por ejemplo, si necesitas obtener el promedio general de un estudiante, preocúpate sólo de escribir la solución para un estudiante. Después esa solución colócala dentro de un ciclo, y éste se repetirá tantas veces tú lo necesites.

Uno de estos ciclos es el ciclo while al cual también se le conoce también como ciclo controlado por condición inicial, porque en este tipo de ciclos, se repite un proceso mientras una condición sea verdadera. En la figura 1 te muestro la forma general de éste, en tres diferentes notaciones: el diagrama de flujo, el pseudocódigo, y el lenguaje de programación Java.


Funcionamiento del ciclo while

El ciclo while funciona de la siguiente forma:

Se inicia evaluando la condición que es parte del encabezado del ciclo.

Si la condición es verdadera, se dice que el flujo del programa entra al cuerpo del ciclo, y por lo tanto se puede ejecutar la Acción1. En la práctica, el cuerpo del ciclo puede estar conformado por más de una instrucción, pero para simplificar, he escrito solo la palabra Acción1. Recuerda que si el cuerpo sólo se compone de una acción, no requiere ser encerrado entre llaves, pero si el cuerpo tiene dos o más acciones, requiere las {}. (Este asunto puedes consultarlo aquí)

Si se ejecutó la Acción1, se regresa a evaluar nuevamente la condición del ciclo. Si esta sigue siendo verdadera, nuevamente el flujo del programa vuelve a entrar al cuerpo del ciclo.

Cuando se evalúe la condición y ésta sea falsa, el flujo del programa sale del ciclo y ahora se ejecuta la Acción2, que representa cualquier instrucción (o conjunto de instrucciones) que estén fuera del ciclo y que, por lo tanto, no se repetirán.

Este procedimiento puede quedar más claro con la animación que se aprecia en la figura 2.


El ciclo while a detalle.

Como puedes deducir, esta estructura de control se compone de dos partes fundamentales:

  1. El encabezado del ciclo: esta parte se compone de la palabra clave while, seguida de la expresión condicional que se escribe entre paréntesis. Por favor, observa que al final del encabezado no se debe escribir el símbolo ; dado que el fin de la línea NO implica el fin de la instrucción. (Más adelante te muestro con detalle un ejemplo con el que podrás entender por qué no se debe escribir ; .
  2. El cuerpo del ciclo: en esta parte se colocan las instrucciones que quieres repetir. Puede ser tan simple como una sola instrucción, pero también pueden escribirse un conjunto de n instrucciones, un llamado a un método, o incluso, otra estructura de control de flujo, como un if u otro ciclo while.

En la figura 3 puedes observar con detenimiento estos componentes.


Instrucción While...End While (Visual Basic

En este artículo

Sintaxis

Partes

Comentarios

Exit While

Ejemplo 1

Ejemplo 2

Ejemplo 3


Ejecuta una serie de instrucciones siempre y cuando una condición dada sea True.

Sintaxis


Partes


Comentarios

Use una estructura While...End While cuando quiera repetir un conjunto de instrucciones un número indefinido de veces, siempre y cuando una condición siga siendo True. Si quiere obtener más flexibilidad en lo relativo a la ubicación donde prueba la condición o al resultado para el que la prueba, es posible que prefiera la instrucción Do...Loop. Si quiere repetir las instrucciones un número determinado de veces, la instrucción For...Next suele ser una mejor opción.

Si condition es True, todas las statements se ejecutan hasta que se encuentra la instrucción End While. Después, el control vuelve a la instrucción While y se vuelve a comprobar condition. Si condition sigue siendo True, el proceso se repite. Si es False, el control pasa a la instrucción que hay a continuación de la instrucción End While.

La instrucción While siempre comprueba la condición antes de iniciar el bucle. El bucle continúa mientras la condición sigue siendo True. Si condition es False cuando se entra por primera vez en el bucle, no se ejecuta ni siquiera una vez.

Normalmente, condition es el resultado de una comparación de dos valores, pero puede ser cualquier expresión que se evalúe como un valor de tipo de datos booleano (True o False). Esta expresión puede incluir un valor de otro tipo de datos (como un tipo numérico) que se ha convertido en Boolean.

Puede anidar bucles While si coloca un bucle dentro de otro. También puede anidar diferentes tipos de estructuras de control unas dentro de otras. Para obtener más información, consulte Estructuras de control anidadas.


Exit While

La instrucción Exit While puede proporcionar otra manera de salir de un bucle While. Exit While transfiere inmediatamente el control a la instrucción que hay a continuación de la instrucción End While.

Normalmente se usa Exit While después de evaluar una condición (por ejemplo, en una estructura If...Then...Else). Es posible que quiera salir de un bucle si detecta una condición que hace que sea innecesario o imposible seguir iterando, como un valor erróneo o una solicitud de finalización. Puede usar Exit While al probar una condición que podría provocar un bucle sin fin, que es un bucle que se podría ejecutar un número de veces extremadamente grande o incluso infinito. Después, puede usar Exit While para salir del bucle.

Puede colocar cualquier número de instrucciones Exit While en cualquier parte del bucle While.

Cuando se usa dentro de bucles While anidados, Exit While transfiere el control fuera del bucle más interno y al siguiente nivel superior de anidamiento.

La instrucción Continue While transfiere inmediatamente el control a la siguiente iteración del bucle. Para obtener más información, consulte Instrucción Continue.

EJEMPLOS

Ejemplo 1

En el ejemplo siguiente, las instrucciones del bucle siguen ejecutándose hasta que la variable index sea mayor que 10.


Ejemplo 2

En el ejemplo siguiente se muestra el uso de las instrucciones Continue While y Exit While.



Ejemplo 3

En el ejemplo siguiente se leen todas las líneas de un archivo de texto. El método OpenText abre el archivo y devuelve un objeto StreamReader que lee los caracteres. En la condición While, el método Peek de StreamReader determina si el archivo contiene caracteres adicionales.


Video de ciclo while (visual basic)




Comentarios

Publicar un comentario

Entradas populares de este blog

CICLO WHILE REGLAS

SQL

SQL Server