Dacă vedeți acest mesaj, înseamnă că avem probleme cu încărcarea resurselor externe pe site-ul nostru.

If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked.

Conţinutul principal

Recapitulare: Repetiții

Aceasta este o recapitulare a noțiunilor prezentate în tutorialul despre repetiții.
Când scriem programe, deseori descoperim că vrem să repetăm o secvență de cod de mai multe ori sau să repetăm, dar să schimbăm ceva de fiecare dată. Pentru a evita să scriem tot acel cod, putem folosi o repetiție. JavaScript are două tipuri de repetiții, repetiția while și repetiția for.
Repetiția while (bucla while) este o modalitate de a repeta codul până când o condiție este falsă. De exemplu, aceasta va afișa valoarea lui y la (30, y) atâta timp cât y este mai mic decât 400. Repetiția adună 20 la y, de fiecare dată când se execută; astfel, y începe cu valoarea 40, apoi crește până la 60, 80, 100, 120 etc.
var y = 40;
while (y < 400) {
    text(y, 30, y);
    y += 20;
}
Condiția din interiorul parantezei trebuie să devină falsă la un moment dat - altfel vom avea ceea ce se numește un ciclu infinit! Asta s-ar întâmpla dacă am elimina y += 20, pentru că y s-ar menține la 40 pentru totdeauna, adică va fi mai mic decât 400, iar programul nu ar şti niciodată să se oprească.
var y = 40;
while (y < 400) {
    text(y, 30, y);
}
Repetiția for (bucla for) este similară cu o repetiție while, dar cu o sintaxă mai particularizată. Programatorii au inventat repetiția for atunci când și-au dat seama că făceau întotdeauna aceleași trei lucruri - crearea variabilelor de contorizare ale repetițiilor (ca y mai sus), incrementarea lor cu o anumită cantitate și verificarea relației de inegalitate față de o valoare. Sintaxa pentru repetiția for are anumite componente pentru fiecare din aceste trei lucruri. Iată aceeași repetiție ca repetiția while de mai sus, dar scrisă ca for:
for (var y = 40; y < 400; y += 20) {
    text(y, 30, y);
}
Repetițiile pot fi și nested (imbricate). De fapt, foarte des vei întâlni repetiții imbricate, în special în desenele 2D, pentru că te ajută să desenezi forme asemănătoare unor tabele. Când imbricăm o repetiție în interiorul altei repetiții, îi spunem programului să "facă acest lucru de X ori, iar de fiecare dată când execută X, de asemenea, face altceva de Y ori. Gândește-te la desenarea unei grile (un tabel) - am vrea să îi spunem programului să "creeze o coloană de 10 ori", iar pentru fiecare coloană creează și 15 celule în interiorul acesteia. Iată cum poți folosi repetiții imbricate pentru a obține asta:
for (var col = 0; col < 10; col++) {
    for (var row = 0; row < 15; row++) {
        rect(col*20, row*20, 20, 20);
    }
}
Când ar trebui să folosești o repetiție for în loc de o repetiție while? Asta depinde de tine. Mulți programatori preferă repetiții for, deorece este mai greu să creezi accidental un ciclu infinit (este mai greu să uiți să incrementezi variabila contor), dar uneori o repetiție while ar putea avea mai mult sens. Încearcă-le pe amândouă!