Vai al contenuto

Cicli e iterazioni

Impara a ripetere operazioni con for, while e do-while.

🎮 Mettilo in pratica: nel corso JavaScript interattivo – progetti c'è la lezione Lezione 9 – Cicli che creano: generatore di quadrati, tabelline e una galleria di foto costruita con i cicli.

➕ Altri esempi: Approfondimento: condizioni e cicli a confronto.

Cos'è un Ciclo?

Un ciclo permette di ripetere un blocco di codice più volte.

Cicli nella Vita Reale

  • Lavare piatti → Per ogni piatto: lava, risciacqua, asciuga
  • Leggere libro → Finché ci sono pagine: leggi pagina
  • Salire scale → Ripeti 20 volte: fai gradino

Ciclo for

Il ciclo for è il più usato quando sai quante volte ripetere.

Sintassi for

for (inizializzazione; condizione; incremento) {
    // Codice ripetuto
}

// Esempio: Conta da 1 a 5
for (let i = 1; i <= 5; i++) {
    console.log(i);
}
// Output: 1, 2, 3, 4, 5

FOR su Array

let frutti = ["mela", "banana", "kiwi"];

for (let i = 0; i < frutti.length; i++) {
    console.log((i+1) + ". " + frutti[i]);
}
// 1. mela
// 2. banana
// 3. kiwi

Ciclo while

Il ciclo while ripete finché la condizione è vera.

Sintassi while

while (condizione) {
    // Codice ripetuto
}

// Esempio
let i = 1;
while (i <= 5) {
    console.log(i);
    i++;  // IMPORTANTE!
}

⚠️ Attenzione Loop Infiniti!

Ricorda sempre di incrementare il contatore!

Ciclo do-while

Il ciclo do-while esegue almeno una volta, poi controlla.

Sintassi do-while

do {
    // Eseguito ALMENO UNA VOLTA
} while (condizione);

// Esempio
let i = 1;
do {
    console.log(i);
    i++;
} while (i <= 5);

break e continue

break - Esce dal Ciclo

// Cerca primo numero pari
for (let i = 1; i <= 10; i++) {
    if (i % 2 === 0) {
        console.log("Primo pari: " + i);
        break;  // Esce dal ciclo
    }
}
// Output: Primo pari: 2

continue - Salta Iterazione

// Stampa solo dispari
for (let i = 1; i <= 10; i++) {
    if (i % 2 === 0) {
        continue;  // Salta i pari
    }
    console.log(i);
}
// Output: 1, 3, 5, 7, 9

Cicli Annidati

Un ciclo dentro un altro ciclo (es: tabelle, matrici).

Tabella Moltiplicazione

for (let i = 1; i <= 5; i++) {
    for (let j = 1; j <= 5; j++) {
        console.log(i + " x " + j + " = " + (i*j));
    }
}

Esempi Pratici

Esercizi Pratici

Esercizio 1: Tabella Pitagorica

Obiettivo: Crea tabella moltiplicazione 10x10

  • Usa cicli annidati
  • Formatta output

Esercizio 2: FizzBuzz

Obiettivo: Stampa da 1 a 100

  • Multiplo di 3: "Fizz"
  • Multiplo di 5: "Buzz"
  • Multiplo di entrambi: "FizzBuzz"

Esercizio 3: Numeri Primi

Obiettivo: Trova tutti i numeri primi fino a N

  • Verifica divisibilità
  • Usa break per ottimizzare

🎯 Riepilogo Lezione

for

  • Iterazioni note
  • 3 parti: init, cond, incr

while

  • Condizione all'inizio
  • Può non eseguire mai

do-while

  • Almeno 1 volta
  • Condizione alla fine

break/continue

  • break: esce
  • continue: salta