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:
Ejemplo:
while
El bucle while
ejecuta un bloque de código mientras una condición sea verdadera.
Sintaxis:
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:
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:
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.
Curso de Programación en Dart
Módulo 1: Introducción a Dart
- Introducción a Dart
- Configuración del Entorno de Desarrollo
- Tu Primer Programa en Dart
- Sintaxis y Estructura Básica