Ciclo while - Aprende a programar desde cero

Bucle while (Mientras) en c#

el ciclo while es un bucle que funciona mediante una condición, que se evalúa al principio de esta estructura. La condición booleana debe ser verdadera, para que se ejecute la instrucción alojada en este. En el caso contrario, la condición será falsa y por lógica la instrucción interna no se ejecuta.

Un ejemplo básico en seudocódigo es:

v  MIENTRAS  tenga dinero
     Seguir comprando artículos.

Hay que tener cuidado con la expresión condicional que se utiliza para controlar las repeticiones ya que podemos caer en un error de lógica, al crear un bucle infinito. Por lo general se debe colocar un operador lógico mayor que, menor que (<,>). Si se coloca  la expresión igual o diferente (= , !=),  puede que nunca se cumpla la condición en cuestión.

Ejemplo de bucle infinito con una operación matemática simple:
·         numero ← 0
·         MIENTRAS numero diferente a 20 Hacer
·         numero ← numero + 3
·         Fin_mientras
·         Escribir(“el número es: ” + numero)

En este ejemplo podemos ver que tenemos una operación matemática, que la adaptamos a pseudocódigo asignando una variable numero, la cual inicializamos en 0, después el bucle MIENTRAS evalúa la condición numero diferente a 20. En este caso la condición se evalúa como verdadera, entonces se ejecuta la instrucción interna. A la variable numero se incrementa a 3. Esto sucede hasta que en la séptima iteración la variable numero a incrementado a 21. Ahora al comparar la variable en la siguiente iteración, numero diferente de 20 (21 != 20) la condición booleana se sigue cumpliendo, entonces sigue ejecutando la instrucción alojada dentro del bucle de forma infinita.

La forma de representa al ciclo while en un diagrama de flujo por lo general es de la siguiente forma:
ciclo while, programación orientada a objetos, operación matemática

Ejemplo de un  ciclo while en C# que evalúa un número ingresado por el usuario diferente de 100 MIENTRAS el valor sea diferente de 100 ejecuta el proceso interno:


int n = 0;//inicializamos la variable n con cero
//mostramos un mensaje al usuario
Console.WriteLine(“ingrese un número menor a 100”);
//la variable n recibe un número entero por el usuario 
n = Int32.ParseInt(Console.ReadLine());
//Inicio del ciclo while que evalúa la variable n diferente de 100

While( n != 100){
   ConsoleWriteLine(“Ingrese un número menor a 100 ”);
   n = Int32.ParseInt(Console.ReadLine());

} //fin del ciclo while