Nivel 2 — Control de flujo
Bucles
Notas originales de SunDiaL · Ver fuente en inglés
Bucles
Un bucle hace que el ordenador repita las mismas líneas de código varias veces.
Los tres componentes
En teoría, todo bucle debería tener, de forma explícita o interna, estos tres componentes:
- Inicio: el estado o las condiciones iniciales al entrar por primera vez en el bucle.
- Parada: la condición para salir del bucle.
- Paso: una instrucción que, idealmente, acerca el bucle a su parada. En la práctica, puedes escribir bucles a los que les falten componentes, lo que da lugar a un bucle que no funciona o que no se detiene. Hay tres tipos de bucles que puedes escribir:
El bucle while
Un while es un bucle definido mediante un booleano. Cuando el booleano es true, el bucle se ejecuta; cuando es false, no se ejecuta. Pero eso no resulta muy útil, por lo que un bucle while se define el 99 % de las veces mediante una condición, cuyo resultado es un booleano.
Suele utilizarse cuando se desconoce el número de pasos.
bool condition;
while(condition)
{
//do stuff
}
El bucle do while
Es idéntico al bucle while, salvo que la condición se escribe al final. Esto hace que el bucle se ejecute al menos una vez.
bool condition;
do
{
//do stuff
}
while(condition);
El bucle for
Un bucle for se define con un estado inicial, una condición de finalización y un paso. Suele utilizarse cuando se conoce de antemano el número de repeticiones.
//note the (start;stop;step) format
for(int i = 1; i <= 10; i++)
{
//do stuff
}
Equivale al siguiente bucle while:
int i = 1;
while(i <= 10)
{
//do stuff
i++;
}
El bucle foreach
Foreach es un bucle que recorre colecciones.
List<int> someNumbers = [1, 3, 5, 7, 9];
foreach(int number in someNumbers)
{
//do something with the number
}
Equivale al siguiente bucle for:
List<int> someNumbers = [1, 3, 5, 7, 9];
for(int i = 0; i < someNumbers.Length; i++)
{
int number = someNumbers[i];
//do something with the number
}