Desafío: FizzBuzz
Parte de la sección Lógica y Flujo del Journey de Dart de Coddy. Lección 65 de 65.
Desafío
FácilCrea un programa que implemente el desafío clásico FizzBuzz con una estructura de bucle y una lógica condicional adecuadas. Este desafío pone a prueba tu capacidad para combinar bucles, instrucciones condicionales y el operador módulo con el fin de resolver un problema de programación conocido.
Tu tarea es:
- Usar un bucle
forpara iterar por los números del 1 al 50 (inclusive) - Para cada número, aplicar las siguientes reglas en orden:
- Si el número es divisible entre 3 y 5, imprime
FizzBuzz - Si el número es divisible únicamente entre 3, imprime
Fizz - Si el número es divisible únicamente entre 5, imprime
Buzz - Si el número no es divisible entre 3 ni entre 5, imprime el número mismo
- Si el número es divisible entre 3 y 5, imprime
- Cada salida debe aparecer en una línea separada
- Usar el operador módulo (
%) para comprobar la divisibilidad - Estructurar las instrucciones condicionales usando
if,else ifyelseen el orden correcto
Las primeras líneas de tu salida deberían verse así:
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzzRecuerda que la clave para resolver FizzBuzz correctamente es comprobar primero el caso de «ambas condiciones» (divisible entre 3 y 5), antes de comprobar las condiciones individuales. Un número es divisible entre otro número si el resto obtenido al dividirlo entre ese número es igual a cero.
Tu programa debe demostrar el uso adecuado de los bucles para la iteración, del operador módulo para comprobar la divisibilidad y de instrucciones condicionales estructuradas en el orden lógico correcto para manejar todos los casos posibles.
Pruébalo tú mismo
void main() {
// TODO: Escribe tu código a continuación
// Usa un bucle for para iterar del 1 al 50
// Comprueba la divisibilidad usando el operador módulo (%)
// Recuerda comprobar primero si es divisible por 3 Y 5, luego las condiciones individuales
// Imprime cada resultado en una línea separada
}Todas las lecciones de Lógica y Flujo
1Manipulación avanzada de listas
Propiedades de listas: first y lastEstado de la lista: isEmpty y isNotEmptyInvertir una listaAñadir a una lista: insertEliminación en listas: removeWhereBúsqueda en una lista: indexOfOrdenar una listaMezclar una listaResumen - Organizador de listas4Manipulación avanzada de mapas
Iterar sobre un mapaComprobación de claves y valoresPropiedades del mapa: keys y valuesAdición condicional: putIfAbsentEliminar entradas de un mapaMapas anidadosResumen - Actualización de inventario7Funciones avanzadas
Funciones anónimasPasar funciones como argumentosEntendiendo los ClosuresIntroducción a la recursividadFunción recursiva: Cuenta regresivaFunción recursiva: FactorialResumen - Procesador de listas10Desafíos finales
Desafío: Clasificador de calificacionesDesafío: Contador de vocalesDesafío: FizzBuzz2Operaciones funcionales con listas
Transformar con 'map'Filtrar con 'where'Uso de '.toList()'Comprobar condiciones con 'any'Condiciones con 'every'Búsqueda con 'firstWhere'Resumen - Filtrado de datos5Proyecto: Calculadora de carrito de compras
Configuración del proyectoAgregar artículos al carrito3Conjuntos
¿Qué es un Conjunto?Crear un ConjuntoAñadir y eliminar elementos de un ConjuntoComprobar elementos en un ConjuntoConvertir una lista en un ConjuntoUnión de ConjuntosIntersección de ConjuntosDiferencia de ConjuntosResumen - Lista de invitados únicaPractica por tu cuenta: Compilador de Dart online