El término en inglés para el flujo de control de un programa es: Flow of Control
Cuando desarrollamos un programa, gran parte de la lógica se coloca dentro de los métodos. El resto de la lógica se sitúa en propiedades, operadores y otros miembros de función.
Clasificación del flujo de control
El llamado flujo de control (flow of control) hace referencia al recorrido de ejecución del código del programa.
De forma predeterminada, el programa ejecuta cada sentencia de forma secuencial, de arriba hacia abajo.
Mientras que las sentencias de control de flujo pueden modificar el orden de ejecución del código.
Existen muchas sentencias de control, las estudiaremos en detalle en clases posteriores. En esta clase haremos una introducción básica para que conozcas el flujo de control.
C# cuenta con tres tipos principales de flujo de control:
La ejecución secuencial es la base; estos tres tipos implementan las lógicas de ramificación, iteración y salto;
- Sentencias de selección (Selection statements)
- Sentencias de iteración (Iteration statements, bucles)
- Sentencias de salto (Jump statements)
Cada tipo cuenta con distintas variantes de escritura:
Sentencias de selección
Su propósito principal es: ejecutar determinadas sentencias según unas condiciones y omitir otras.
- if ejecuta un bloque de código cuando se cumple la condición
- if–else ejecuta una de dos alternativas
- switch comparación con múltiples ramas, selecciona uno de varios bloques de código para ejecutar
Sentencias de iteración
Su propósito principal es: repetir un bloque de código mientras se cumpla la condición
- for evalúa la condición antes de ejecutar el bucle
- while evalúa la condición antes de ejecutar el bucle
- do while ejecuta primero el código y luego comprueba la condición
- foreach recorre cada elemento de una colección y se ejecuta automáticamente una vez por elemento
Sentencias de salto
- break sale directamente del bucle actual
- continue finaliza la iteración actual, omite el código restante, salta al final del bucle y comienza la siguiente iteración
- goto salta hasta una sentencia etiquetada
- return finaliza el método actual y vuelve al punto desde el que se llamó
Por ahora basta con conocer estos conceptos, los profundizaremos más adelante.
class Program
{
static void Main()
{
int age = 18;
if (age >= 18) //Si se cumple la condición se ejecuta el código del bloque if
{
Console.WriteLine("Eres mayor de edad");
}
int score = 85;
if (score >= 90) //Varias comprobaciones condicionales
{
Console.WriteLine("Excelente");
}
else if (score >= 80) //Si no se cumple la condición anterior, se evalúa esta
{
Console.WriteLine("Bien");
}
else if (score >= 70) //Si no se cumplen las dos condiciones anteriores, se evalúa esta
{
Console.WriteLine("Regular");
}
else if (score >= 60) //Si no se cumplen las tres condiciones anteriores, se evalúa esta
{
Console.WriteLine("Aprobado");
}
else //Si ninguna condición se cumple, se ejecuta el bloque else como alternativa por defecto
{
Console.WriteLine("Suspenso");
}
//Bucle for: i comienza en 0, mientras i sea menor que 10 se ejecuta el interior, i aumenta en 1 al final de cada iteración
for (int i = 0; i < 10; i++)
{
Console.WriteLine(i);
}
int sum = 0;
while (sum < 100) //Se ejecuta el interior mientras sum sea menor que 100
{
sum += 10; //sum aumenta 10 en cada iteración
Console.WriteLine(sum);
}
int count = 5;
do
{
Console.WriteLine("Esta línea siempre se ejecuta al menos una vez");
count++; //count aumenta 1 en cada iteración
} while (count<5); //Aunque la condición sea falsa, el código del bucle se ejecuta una vez
int[] scores = { 90, 80, 70, 60, 50 }; //Definimos un array con cinco elementos
foreach (var item in scores) //Recorremos cada elemento del array, lo guardamos en item y ejecutamos el código hasta terminar de recorrerlo
{
Console.WriteLine(item);
}
}
}
Lenguaje del código: JavaScript (javascript)
Puedes copiar este código y ejecutarlo en Visual Studio. En próximas clases analizaremos cada sentencia una por una.
Flujo de control del programa