Lecții din modul (1/4)
Bucle: pentru și timp
Buclele vă permit să repetați un bloc de cod. JavaScript are trei forme clasice: for, while,
do…while. Utilizați primul când știți (sau puteți calcula) numărul de iterații, celălalt
doi când ai nevoie doar de o condiție de ieșire.
Clasic for
Trei părți separate prin ;: inițializare, condiție de continuare, pas.
for (let i = 0; i < 4; i++) {
console.log(i); // 0, 1, 2, 3
}Echivalent în stil while:
let i = 0;
while (i < 4) {
console.log(i);
i++;
}while
Verifică starea înainte de fiecare iterație.
let n = 10;
while (n > 0) {
n = Math.floor(n / 2);
}
n; // 0Dacă condiția este deja falsă la prima rundă, corpul nu este niciodată executat.
do…while
Verifică starea după: corpul este întotdeauna executat cel puțin o dată.
let tentativi = 0;
do {
tentativi++;
} while (Math.random() < 0.0001); // pratica: provare almeno una volta
tentativi; // >= 1Încearcă
Definiți o funcție `sumUpTo(n)` care returnează suma 1+2+...+n (întreg pozitiv). Folosește un clasic pentru.
Afișează indiciu
Începeți totalul de la 0, apoi bucla i de la 1 la n inclusiv.
Soluție disponibilă după 3 încercări
Exercițiu de revizuire
Definiți `halveUntilOne(n)` care, având în vedere un număr întreg pozitiv, returnează de câte ori trebuie să împărțiți n la 2 (cu Math.floor) înainte de a ajunge la 1 sau mai puțin. Folosește un timp.
Afișează indiciu
Păstrați un numărător și împărțiți n la 2 în timp ce n > 1.
Soluție disponibilă după 3 încercări