Desafio: FizzBuzz
Parte da seção Lógica & Fluxo do Journey de Dart da Coddy. Lição 65 de 65.
Desafio
FácilCrie um programa que implemente o desafio clássico FizzBuzz com uma estrutura de loop adequada e lógica condicional. Esse desafio testa sua capacidade de combinar loops, instruções condicionais e o operador módulo para resolver um problema de programação conhecido.
Sua tarefa é:
- Usar um loop
forpara iterar pelos números de 1 a 50 (inclusive) - Para cada número, aplicar as seguintes regras na ordem:
- Se o número for divisível por 3 e por 5, imprimir
FizzBuzz - Se o número for divisível somente por 3, imprimir
Fizz - Se o número for divisível somente por 5, imprimir
Buzz - Se o número não for divisível por 3 nem por 5, imprimir o próprio número
- Se o número for divisível por 3 e por 5, imprimir
- Cada saída deve estar em uma linha separada
- Usar o operador módulo (
%) para verificar a divisibilidade - Estruturar suas instruções condicionais usando
if,else ifeelsena ordem correta
As primeiras linhas da sua saída devem ser semelhantes a estas:
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzzLembre-se de que a chave para resolver FizzBuzz corretamente é verificar primeiro o caso de "ambas as condições" (divisível por 3 e por 5), antes de verificar as condições individuais. Um número é divisível por outro número quando o resto da divisão por esse número é igual a zero.
Seu programa deve demonstrar o uso adequado de loops para iteração, do operador módulo para testar a divisibilidade e de instruções condicionais estruturadas na ordem lógica correta para lidar com todos os casos possíveis.
Experimente você mesmo
void main() {
// TODO: Escreva seu código abaixo
// Use um loop for para iterar de 1 a 50
// Verifique a divisibilidade usando o operador módulo (%)
// Lembre-se de verificar tanto 3 E 5 primeiro, depois as condições individuais
// Imprima cada resultado em uma linha separada
}Todas as lições de Lógica & Fluxo
1Manipulação Avançada de Listas
Propriedades de Lista: first & lastEstado da Lista: isEmpty & isNotEmptyInvertendo uma ListaAdicionando a uma Lista: insertRemoção em Listas: removeWhereBuscando em uma Lista: indexOfOrdenando uma ListaEmbaralhando uma ListaRecapitulação - Organizador de Listas4Manipulação Avançada de Mapas
Iterando sobre um MapVerificando Chaves e ValoresPropriedades do Map: keys & valuesAdição Condicional: putIfAbsentRemovendo Entradas de um MapMaps AninhadosRecapitulação - Atualização de Inventário2Operações Funcionais em Listas
Transformando com 'map'Filtrando com 'where'Usando '.toList()'Verificando Condições com 'any'Condições com 'every'Encontrando com 'firstWhere'Recapitulação - Filtragem de Dados5Projeto: Cálculo de Carrinho de Compras
Configuração do ProjetoAdicionando Itens ao Carrinho3Conjuntos
O que é um Conjunto?Criando um ConjuntoAdicionando e Removendo de ConjuntosVerificando Elementos em um ConjuntoConvertendo uma Lista para um ConjuntoUnião de ConjuntosInterseção de ConjuntosDiferença de ConjuntosRecapitulação - Lista de Convidados ÚnicosPratique por conta própria: Compilador de Dart online