Sfida: FizzBuzz
Fa parte della sezione Logica e flusso del percorso Dart di Coddy. Lezione 65 di 65.
Sfida
FacileCrea un programma che implementi la classica sfida FizzBuzz con una struttura di ciclo e una logica condizionale appropriate. Questa sfida mette alla prova la tua capacità di combinare cicli, istruzioni condizionali e l’operatore modulo per risolvere un noto problema di programmazione.
Il tuo compito è:
- Usare un ciclo
forper scorrere i numeri da 1 a 50 (inclusi) - Per ogni numero, applicare le seguenti regole nell’ordine indicato:
- Se il numero è divisibile sia per 3 sia per 5, stampare
FizzBuzz - Se il numero è divisibile solo per 3, stampare
Fizz - Se il numero è divisibile solo per 5, stampare
Buzz - Se il numero non è divisibile né per 3 né per 5, stampare il numero stesso
- Se il numero è divisibile sia per 3 sia per 5, stampare
- Ogni risultato deve essere su una riga separata
- Usare l’operatore modulo (
%) per verificare la divisibilità - Strutturare le istruzioni condizionali usando
if,else ifeelsenell’ordine corretto
Le prime righe del risultato dovrebbero essere simili a queste:
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzzRicorda che la chiave per risolvere correttamente FizzBuzz è verificare prima il caso delle "entrambe le condizioni" (divisibile sia per 3 sia per 5), prima di controllare le singole condizioni. Un numero è divisibile per un altro numero se il resto della divisione per quel numero è uguale a zero.
Il tuo programma dovrebbe dimostrare l’uso corretto dei cicli per l’iterazione, dell’operatore modulo per verificare la divisibilità e di istruzioni condizionali strutturate nell’ordine logico corretto per gestire tutti i casi possibili.
Provalo tu
void main() {
// TODO: Scrivi il tuo codice qui sotto
// Usa un ciclo for per iterare da 1 a 50
// Verifica la divisibilità usando l'operatore modulo (%)
// Ricorda di verificare prima la divisibilità sia per 3 che per 5, poi le singole condizioni
// Stampa ogni risultato su una riga separata
}Tutte le lezioni di Logica e flusso
1Manipolazione avanzata delle liste
Proprietà delle liste: primo e ultimoStato della lista: isEmpty e isNotEmpInvertire una listaAggiungere a una lista: insertRimozione dalla lista: removeWhereRicerca in una lista: indexOfOrdinare una listaMescolare una listaRiepilogo - Organizzatore di liste4Manipolazione avanzata delle mappe
Iterare su una mappaVerificare chiavi e valoriProprietà delle mappe: chiavi e valoriAggiunta condizionale: putIfAbsentRimuovere elementi da una mappaMappe annidateRiepilogo - Aggiornamento dell'inventario2Operazioni funzionali sulle liste
Trasformare con 'map'Filtrare con 'where'Usare '.toList()'Verificare condizioni con 'any'Condizioni con 'every'Trovare con 'firstWhere'Riepilogo - Filtraggio dei dati3Insiemi
Che cos'è un insieme?Creare un insiemeAggiungere e rimuovere elementi dagli insiemiVerificare la presenza di elementi in un insiemeConvertire una lista in un insiemeUnione di insiemiIntersezione di insiemiDifferenza tra insiemiRiepilogo - Lista degli ospiti uniciEsercitati da solo: Compilatore Dart online