En este tema, aprenderemos sobre las sentencias de control de flujo en Dart, que son fundamentales para dirigir el flujo de ejecución de un programa. Estas sentencias permiten tomar decisiones, repetir acciones y manejar excepciones.

Contenido

  1. Sentencias Condicionales
    • if y else
    • switch y case
  2. Bucles
    • for
    • while
    • do-while
  3. Manejo de Excepciones
    • try, catch, finally
    • Lanzar excepciones

Sentencias Condicionales

if y else

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

Sintaxis:

if (condición) {
  // Código a ejecutar si la condición es verdadera
} else {
  // Código a ejecutar 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.');
  }
}

switch y case

La sentencia switch se utiliza para seleccionar una de muchas opciones basadas en el valor de una expresión.

Sintaxis:

switch (expresión) {
  case valor1:
    // Código a ejecutar si expresión == valor1
    break;
  case valor2:
    // Código a ejecutar si expresión == valor2
    break;
  default:
    // Código a ejecutar si ninguna de las condiciones anteriores se cumple
}

Ejemplo:

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

  switch (dia) {
    case 'Lunes':
      print('Inicio de la semana.');
      break;
    case 'Viernes':
      print('Fin de la semana laboral.');
      break;
    default:
      print('Día normal.');
  }
}

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) {
  // Código a ejecutar en cada iteración
}

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) {
  // Código a ejecutar mientras la condición sea verdadera
}

Ejemplo:

void main() {
  int i = 0;

  while (i < 5) {
    print('Iteración $i');
    i++;
  }
}

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 {
  // Código a ejecutar
} while (condición);

Ejemplo:

void main() {
  int i = 0;

  do {
    print('Iteración $i');
    i++;
  } while (i < 5);
}

Manejo de Excepciones

try, catch, finally

El manejo de excepciones se utiliza para manejar errores de manera controlada.

Sintaxis:

try {
  // Código que puede lanzar una excepción
} catch (e) {
  // Código para manejar la excepción
} finally {
  // Código que siempre se ejecuta
}

Ejemplo:

void main() {
  try {
    int resultado = 10 ~/ 0; // Esto lanzará una excepción
  } catch (e) {
    print('Se produjo una excepción: $e');
  } finally {
    print('Este bloque siempre se ejecuta.');
  }
}

Lanzar Excepciones

Puedes lanzar tus propias excepciones utilizando la palabra clave throw.

Ejemplo:

void verificarEdad(int edad) {
  if (edad < 18) {
    throw Exception('Eres menor de edad.');
  }
}

void main() {
  try {
    verificarEdad(16);
  } catch (e) {
    print('Excepción: $e');
  }
}

Ejercicios Prácticos

Ejercicio 1: Sentencias 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 utilizando un bucle for.

Solución:

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

Ejercicio 3: Manejo de Excepciones

Escribe un programa que intente dividir dos números y maneje la excepción si el divisor es cero.

Solución:

void main() {
  int a = 10;
  int b = 0;

  try {
    int resultado = a ~/ b;
    print('El resultado es $resultado');
  } catch (e) {
    print('Error: No se puede dividir por cero.');
  }
}

Conclusión

En esta sección, hemos cubierto las sentencias de control de flujo en Dart, incluyendo sentencias condicionales, bucles y manejo de excepciones. Estas herramientas son esenciales para controlar el flujo de ejecución de tus programas y manejar errores de manera efectiva. Asegúrate de practicar estos conceptos con los ejercicios proporcionados para reforzar tu comprensión. En el próximo módulo, profundizaremos en las funciones y métodos en Dart.

Curso de Desarrollo con Flutter

Módulo 1: Introducción a Flutter

Módulo 2: Conceptos Básicos de Programación en Dart

Módulo 3: Widgets en Flutter

Módulo 4: Gestión de Estado

Módulo 5: Navegación y Enrutamiento

Módulo 6: Redes y APIs

Módulo 7: Persistencia y Almacenamiento

Módulo 8: Conceptos Avanzados de Flutter

Módulo 9: Pruebas y Depuración

Módulo 10: Despliegue y Mantenimiento

Módulo 11: Flutter para Web y Escritorio

© Copyright 2024. Todos los derechos reservados