Las sentencias de control de flujo son fundamentales en cualquier lenguaje de programación, ya que permiten dirigir la ejecución del código en función de condiciones y repeticiones. En Dart, estas sentencias incluyen estructuras como condicionales (if, else), bucles (for, while, do-while), y la sentencia switch. En esta sección, exploraremos cada una de estas estructuras con ejemplos prácticos y ejercicios.

Condicionales

if y else

La sentencia if se utiliza para ejecutar un bloque de código solo si una condición es verdadera. La sentencia else se puede usar para ejecutar un bloque de código alternativo si la condición es falsa.

Sintaxis:

if (condición) {
  // Bloque de código si la condición es verdadera
} else {
  // Bloque de código si la condición es falsa
}

Ejemplo:

void main() {
  int edad = 20;

  if (edad >= 18) {
    print('Eres mayor de edad.');
  } else {
    print('Eres menor de edad.');
  }
}

else if

La sentencia else if permite verificar múltiples condiciones.

Sintaxis:

if (condición1) {
  // Bloque de código si condición1 es verdadera
} else if (condición2) {
  // Bloque de código si condición2 es verdadera
} else {
  // Bloque de código si ninguna condición anterior es verdadera
}

Ejemplo:

void main() {
  int nota = 85;

  if (nota >= 90) {
    print('Excelente');
  } else if (nota >= 80) {
    print('Muy bien');
  } else if (nota >= 70) {
    print('Bien');
  } else {
    print('Necesitas mejorar');
  }
}

Bucles

for

El bucle for se utiliza para ejecutar un bloque de código un número específico de veces.

Sintaxis:

for (inicialización; condición; actualización) {
  // Bloque de código a ejecutar
}

Ejemplo:

void main() {
  for (int i = 0; i < 5; i++) {
    print('Iteración $i');
  }
}

while

El bucle while ejecuta un bloque de código mientras una condición sea verdadera.

Sintaxis:

while (condición) {
  // Bloque de código a ejecutar
}

Ejemplo:

void main() {
  int contador = 0;

  while (contador < 5) {
    print('Contador: $contador');
    contador++;
  }
}

do-while

El bucle do-while es similar al while, pero garantiza que el bloque de código se ejecute al menos una vez.

Sintaxis:

do {
  // Bloque de código a ejecutar
} while (condición);

Ejemplo:

void main() {
  int contador = 0;

  do {
    print('Contador: $contador');
    contador++;
  } while (contador < 5);
}

Sentencia switch

La sentencia switch se utiliza para seleccionar una de muchas opciones de código a ejecutar.

Sintaxis:

switch (expresión) {
  case valor1:
    // Bloque de código
    break;
  case valor2:
    // Bloque de código
    break;
  default:
    // Bloque de código
}

Ejemplo:

void main() {
  String dia = 'Lunes';

  switch (dia) {
    case 'Lunes':
      print('Hoy es lunes');
      break;
    case 'Martes':
      print('Hoy es martes');
      break;
    default:
      print('No es lunes ni martes');
  }
}

Ejercicios Prácticos

Ejercicio 1: Condicionales

Escribe un programa que verifique si un número es positivo, negativo o cero.

Solución:

void main() {
  int numero = -5;

  if (numero > 0) {
    print('El número es positivo');
  } else if (numero < 0) {
    print('El número es negativo');
  } else {
    print('El número es cero');
  }
}

Ejercicio 2: Bucles

Escribe un programa que imprima los números del 1 al 10 usando un bucle for.

Solución:

void main() {
  for (int i = 1; i <= 10; i++) {
    print(i);
  }
}

Ejercicio 3: switch

Escribe un programa que imprima el nombre del día de la semana basado en un número del 1 al 7.

Solución:

void main() {
  int dia = 3;

  switch (dia) {
    case 1:
      print('Lunes');
      break;
    case 2:
      print('Martes');
      break;
    case 3:
      print('Miércoles');
      break;
    case 4:
      print('Jueves');
      break;
    case 5:
      print('Viernes');
      break;
    case 6:
      print('Sábado');
      break;
    case 7:
      print('Domingo');
      break;
    default:
      print('Número de día inválido');
  }
}

Resumen

En esta sección, hemos cubierto las sentencias de control de flujo en Dart, incluyendo condicionales (if, else, else if), bucles (for, while, do-while), y la sentencia switch. Estas estructuras son esenciales para dirigir la ejecución del código en función de condiciones y repeticiones. Asegúrate de practicar con los ejercicios proporcionados para reforzar tu comprensión de estos conceptos. En el próximo módulo, exploraremos las funciones en Dart, una herramienta poderosa para organizar y reutilizar el código.

© Copyright 2024. Todos los derechos reservados