Salt la conținutul principal
Modulul 5 · Lecția 1 din 417/32 în curs~10 min
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.

JS
for (let i = 0; i < 4; i++) {
  console.log(i); // 0, 1, 2, 3
}

Echivalent în stil while:

JS
let i = 0;
while (i < 4) {
  console.log(i);
  i++;
}

while

Verifică starea înainte de fiecare iterație.

JS
let n = 10;
while (n > 0) {
  n = Math.floor(n / 2);
}
n; // 0

Dacă 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ă.

JS
let tentativi = 0;
do {
  tentativi++;
} while (Math.random() < 0.0001); // pratica: provare almeno una volta

tentativi; // >= 1

Încearcă

Exercițiu#js.m5.l1.e1
Încercări: 0Se încarcă…

Definiți o funcție `sumUpTo(n)` care returnează suma 1+2+...+n (întreg pozitiv). Folosește un clasic pentru.

Se încarcă editorul...
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

Exercițiu#js.m5.l1.e2
Încercări: 0Se încarcă…

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.

Se încarcă editorul...
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