$$ \newcommand{\floor}[1]{\left\lfloor{#1}\right\rfloor} \newcommand{\ceil}[1]{\left\lceil{#1}\right\rceil} \newcommand{\mod}{\,\mathrm{mod}\,} \renewcommand{\div}{\,\mathrm{div}\,} \newcommand{\metar}{\,\mathrm{m}} \newcommand{\cm}{\,\mathrm{cm}} \newcommand{\dm}{\,\mathrm{dm}} \newcommand{\litar}{\,\mathrm{l}} \newcommand{\km}{\,\mathrm{km}} \newcommand{\s}{\,\mathrm{s}} \newcommand{\h}{\,\mathrm{h}} \newcommand{\minut}{\,\mathrm{min}} \newcommand{\kmh}{\,\mathrm{\frac{km}{h}}} \newcommand{\ms}{\,\mathrm{\frac{m}{s}}} \newcommand{\mmin}{\,\mathrm{\frac{m}{min}}} \newcommand{\smin}{\,\mathrm{\frac{s}{min}}} $$
Uvod - Priručnik za JavaScript / Naredbe ponavljanja sa brojanjem

Naredbe ponavljanja sa brojanjem

  • Dozvoljeno polaganje
  • -
  • Nema
  • Jovan Popović
  • 2/10/2017

Naredbe ponavljanja se često koriste da izvrše neke naredbe tačno 10, 100, ili neki drugi broj puta. Takva ponavljanja izgledaju ovako:

broj = pocetak
while ( broj < kraj) {
	Naredba
	broj = broj + 1
} 

U ovakvim petljama sa brojanjem koristimo jednu promenljivu kao brojač. Na početku, toj promenljivoj upišemo neku početni vrednost (obično nula ili jedan). Onda u uslovu petlje proveravamo da li je vrednost u toj promenljivoj došla do kraja. Ako nije - izvršavamo naredbe iz tela petlje, a ako jeste - naredba ponavljanja je završena. Kao poslednju naredbu u telu naredbe, uzimamo vrednost iz promenljive, uvećavamo je za jedan i ponovo upisujemo u promenljivu da bi while naredba opet proverila da li je ta nova vrednost manja od kraja.

U sledećem primeru je petlja koja ispisuje sve brojeve od 1 do 100:

broj = 1
while ( broj <= 100) {
	console.out(broj)
	broj = broj + 1
}

Pošto hoćemo da ponovimo ispis za svaki broj od 1 do 100, upisaćemo prvi broj u promenljivu. U uslovu while petlje ćemo proveriti da li je broj još uvek manji od 100. Pošto je manji, izvršiće se telo petlje i vrednost broja će biti prikazana na konzoli. Potom ćemo broj uvećati za jedan i ponovo proveriti da li da ponovimo telo petlje sa ovim brojem. Kao rezultat, naredbe u telu petlje će biti urađene za svaku vrednost broja od 1 do 100 i na izlazu će biti prikazane te vrednosti - u svakom koraku po jedna.

U ovom primeru ćemo da pomognemo Redu da dođe do praseta. Možemo da napravimo program sa pet naredbi „pomeri se napred“ kao na slici:

Naredba ponavljanja

U ovom programu smo morali da pet puta kažemo Redu da se pomeri napred kada krene. Naredba ponavljanja može da nam pomogne tako što ćemo u nju da stavimo jednu naredbu „pomeri se napred“ a onda ćemo da upišemo da treba da se ta naredba ponovi pet puta. Tako bismo dobili program na slici:

Naredba ponavljanja

U JavaScript jeziku bi taj program izgledao ovako:

broj = 0
while ( broj < 5) {
	pomeri_se_napred()
	broj++
} 

Zamislite da je Red 100 polja udaljen od praseta. Zar ne bi bilo teško da 100 puta stavite naredbu „pomeri se napred“? Zar nije bolje da imamo jednu naredbu „Ponovi ___ puta naredbe“ u koju ćemo ubaciti „pomeri se napred“ naredbu i gde ćemo smo staviti broj 100 umesto 5 kao u prethodnom primeru? Naredbe ponavljanja nam pomažu da samo kažemo koliko puta treba da se ponovi neka naredba umesto da je mi ponavljamo u programu.

Primer - zbir brojeva od 1 do 100

U sledećem programu ćemo proći kroz sve brojeve počevši od 1 i uvećavati vrednost broja za jedan u svakoj iteraciji. To ćemo da radimo sve dok je broj manji od 100. U svakoj iteraciji ćemo dodati trenutnu vrednost broja u promenljivu zbir koja ima početnu vrednost 0.

broj = 1
zbir = 0
while ( broj <= 100 ) {
	zbir = zbir + broj
	broj = broj + 1
}