WHILE
RODOLFO ALEJANDRO L ARA SUAREZ
ALGORITMOS Y LENGUAJES DE PROGRAMACIÓN
While
Los ciclos while son también una estructura cíclica, que nos permite ejecutar una o varias líneas
de código de manera repetitiva sin necesidad de tener un valor inicial e incluso a veces sin
siquiera conocer cuando se va a dar el valor final que esperamos, los ciclos while, no dependen
directamente de valores numéricos, sino de valores booleanos, es decir su ejecución depende
del valor de verdad de una condición dada, verdadera o falso, nada más. De este modo los ciclos
while, son mucho más efectivos para condiciones indeterminadas, que no conocemos cuando se
van a dar a diferencia de los ciclos for, con los cuales se debe tener claro un principio, un final y
un tamaño de paso.
¿Cómo funciona un Ciclo While?
Para comprender mejor el funcionamiento del ciclo while, pongamos un buen ejemplo,
imaginemos que por algún motivo, queremos pedirle a un usuario una serie de números
cualquiera y que solo dejaremos de hacerlo cuando el usuario ingrese un número mayor a 100.
Como vemos, aquí no podríamos utilizar un ciclo for, pues no tenemos ni idea de cuándo al
usuario se le va a ocurrir ingresar un número mayor que 100, es algo indeterminado para
nosotros, sin embargo el ciclo while nos permite ejecutar una acción de forma infinita hasta que
se cumpla alguna condición especifica, en nuestro caso sería que el numero ingresado sea
mayor a 100. De modo que si el usuario nos ingresa de manera sucesiva los siguientes numero
1,50,99, 49, 21, 30, 100 ..., nuestro programa no finalizara, pues ninguno de estos números es
mayor que 100, sin embargo si nos ingresara el numero 300, el programa finalizaría
inmediatamente.
En este tema vamos a ver una estructura repetitiva más primitiva que FOR ya
que no maneja automáticamente el contador y por lo tanto es más difícil de
utilizar, pero usada correctamente puede ser bastante más flexible.
FOR se incrementa con el STEP
WHILE requiere un contador
Una forma más general que el FOR para realizar interacciones es el WHILE (mientras), el cual
permite repetir una serie de instrucciones mientras una determinada expresión Iógica sea
verdadera. Su forma general utilizando pseudocódigo es la siguiente
Mientras (expresión lógica) instrucciones a repetir mientras la expresión lógica es verdadera
Fin del Mientras
Representación grafica del While
Inicio
Fin
EJEMPLO
Se muestra un algoritmo que empleando el WHILE
Escriba 5 veces el texto “Hola”
INICIO
Hacer i = 1
while (i<—5)
imprime “Hola”
Fin del While
Como pudo observarse en el ejemplo anterior para que el proceso iterativo llevado a cabo en
el MIENTRAS no sea infinito, dentro de las instrucciones que se ejecutan en su interior se debe
colocar una instrucción que modifique el valor de verdad en la expresión Iógica.
Ejemplo
Pedir números por pantalla hasta que alguno sea mayor a 100
Para solucionar esto, debemos tener clara cuál va a ser la condición que se debe cumplir para
que el ciclo este pidiendo el numero contantemente, el ciclo se va a detener solo cuando el
numero ingresado sea mayor que 100, así que la condición para que se siga ejecutando es que el
numero sea menor a 100, ¿Comprender la lógica?, es simple si para que se detenga el numero
debe ser mayor a 100, entonces para seguirse ejecutando el numero debe ser menor o igual a
100, veámoslo entonces
Conclusión
En efecto los ciclos while, son bastante útiles, sin embargo desde el punto de vista de la
eficiencia al igual que con los ciclos for, es recomendable evitarlos en la medida de lo posible,
siempre que vayas a usar un ciclo while o cualquier tipo de ciclo en realidad, deberías
preguntarte primero si es totalmente necesario o si existe una manera más efectiva de hacerlo.
Evidentemente habrá situaciones en las que será casi que imprescindible usar el ciclo, pues por
algo existen, esta entonces en nuestra habilidad determinar cuándo usarlos y mejor aun como
usarlos de manera efectiva.