Ciclos While y Do While en C#: Uso y Ejemplos Prácticos
Clase 22 de 26 • Curso de Introducción a C# con .NET 3.1
Resumen
¿Qué es un ciclo while y cómo se diferencia de un ciclo for?
El concepto de ciclos en programación es esencial para automatizar tareas repetitivas. En este contexto, el ciclo while
juega un papel único. Mientras que el ciclo for
se utiliza generalmente cuando se conoce el número de iteraciones antes de empezar, el ciclo while
se ejecuta basándose en una condición que debe continuar siendo verdadera para que las repeticiones continúen. Este concepto se ilustra a la perfección con el ejemplo de un robot patrullero, que utiliza el ciclo while
para operar hasta que detecte un peligro. Aquí el ciclo actúa "mientras" no haya peligro, lo que lo hace muy útil para situaciones donde las condiciones de parada no están predefinidas.
¿Cómo se escribe un ciclo while en C#?
Escribir un ciclo while
es bastante sencillo. Este ciclo ejecuta un conjunto de sentencias siempre y cuando una condición dada sea verdadera. Puede emplearse para mantener un sistema en operación constante hasta que alguna variable cambie su estado o condición.
Ejemplo básico de un ciclo while:
bool continuar = true;
while (continuar)
{
Console.WriteLine("Hello world forever!");
}
En este ejemplo, el mensaje "Hello world forever!" se imprimirá indefinidamente, ya que la condición continuar
es siempre verdadera.
¿Cómo manipular un ciclo while con condicionales?
Para que un ciclo while
sea verdaderamente funcional en aplicaciones prácticas, como por ejemplo en sistemas que requieren intervención del usuario, es esencial manipular control y especialmente la condición de parada. Esto se logra generalmente utilizando condicionales.
Ejemplo con intervención del usuario:
bool continuar = true;
while (continuar)
{
Console.WriteLine("Do you wish to keep the software running? Write 1 if yes, 0 if no.");
int keepGoing = Convert.ToInt16(Console.ReadLine());
if (keepGoing == 1)
{
Console.WriteLine("The software will keep running.");
}
else if (keepGoing == 0)
{
Console.WriteLine("This is the last time the software is running.");
continuar = false;
}
else
{
Console.WriteLine("Invalid input, try again.");
}
}
En este código se observa cómo se pide al usuario si quiere continuar con la ejecución. Dependiendo de la respuesta, el ciclo seguirá o terminará.
¿Qué es un ciclo do-while y cuándo utilizarlo?
El ciclo do-while
asegura que el bloque de código se ejecute al menos una vez. Esto es particularmente útil cuando la condición de entrada no puede ser determinada antes de la primera ejecución del ciclo.
Ejemplo de un ciclo do-while:
bool continuar = false;
do
{
Console.WriteLine("Do you wish to keep the software running? Yes(1), No(0)");
int keepGoing = Convert.ToInt16(Console.ReadLine());
if (keepGoing == 1)
{
Console.WriteLine("The software will keep running.");
continuar = true;
}
else if (keepGoing == 0)
{
Console.WriteLine("This is the last time the software is running.");
continuar = false;
}
} while (continuar);
Este fragmento de código garantiza que el usuario vea el mensaje al menos una vez, esencialmente preguntando por su preferencia antes de evaluar la condición del ciclo.
Práctica y exploración personal
Para profundizar en el uso práctico de estos ciclos, intenta imaginar y crear ejemplos desde cero. Simula una aplicación de sensores que generan valores de 0 y 1 para decidir la continuación de un proceso. Trabajar en estos ejercicios fortalecerá tu comprensión y habilidad para aplicar estos conceptos de manera efectiva en tus proyectos.
Recuerda que el uso correcto del ciclo adecuado es clave en la eficiencia de tu programa, ya sea para gestionar procesos repetitivos con condiciones conocidas como con un for
, o situaciones más inciertas y condicionales que aprovechan el while
. ¡Sigue practicando y descubre la potencia de estos ciclos en C#!