Ključna razlika – for vs while petlja
Program je skup instrukcija napisanih u programskom jeziku za obavljanje određenog zadatka. To može biti logička ili matematička operacija. Generalno, naredbe u programu se izvršavaju jedna za drugom. Ponekad je potrebno izvršavati skup naredbi iznova i iznova. Za postizanje ovog zadatka koriste se kontrolne strukture. Dvije od njih su for i while petlja. Ove strukture pomažu u izvršavanju niza koda sve dok zadati uvjet nije istinit. Sintaksa for petlje sastoji se od inicijalizacije, test izraza i izraza ažuriranja. Sintaksa while petlje sadrži testni izraz. Ovaj članak govori o razlici između for i while petlje. Ključna razlika između for i while petlje je u tome što se for petlja može koristiti kada je broj iteracija poznat, a while petlja se može koristiti kada broj iteracija nije poznat.
Šta je za Loop?
petlja for se koristi u mnogim programskim jezicima kao što su C, Java itd. Koristi se za izvršavanje skupa naredbi više puta. Sintaksa for petlje je sljedeća.
for (inicijalizacija; test izraz, ažuriranje){
//izjave unutar for petlje
}
Izraz za inicijalizaciju se izvršava samo jednom. Zatim se procjenjuje test izraz. Test izraz može sadržavati varijable, vrijednosti, konstante i operatore. To je Boolean izraz. Ako je procijenjeni izraz istinit, izvršava se kod unutar for petlje. Nakon dostizanja kraja petlje, izraz ažuriranja se izvršava. To može biti povećanje ili smanjenje. Ponovo se provjerava testni izraz. Ako je procijenjeni izraz istinit, izvršavaju se izrazi unutar petlje for. Na kraju petlje izvršava se izraz ažuriranja. Ovaj proces se ponavlja sve dok testni izraz nije lažan. Kada je testni izraz lažan, for petlja se završava i kontrola se prosljeđuje na sljedeći izraz nakon for petlje.
Slika 01: Program sa for petljom za izračunavanje sume od 5 brojeva
Navedeni program je da pronađe zbir prvih pet brojeva, a to su 1, 2, 3, 4 i 5. U for petlji, i je 1. Manje je od 5. Dakle, suma se izračunava. U početku, suma je 0. Dodaje se na i što je 1. Zbir se dodjeljuje promjenljivoj sumi. Sada je zbroj 1. Zatim se evaluira izraz ažuriranja. I se povećava za jedan. Sada imam 2. To je manje od 5. Dakle, suma je izračunata. Prethodna vrijednost zbira je 1 i dodaje se vrijednosti i koja je 2. Sada je zbroj 3. Izraz ažuriranja se procjenjuje i i povećava se za 1. Sada je 3. Ovaj proces se ponavlja. Kada i postane 6, izraz postaje netačan jer 6 nije jednako ili manje od 5. Stoga se for petlja završava. Konačno, zbir svih pet brojeva se ispisuje na ekran.
Šta je while Loop?
Petlja while izvršava ciljne naredbe sve dok je dati uslov istinit. Sintaksa while petlje je sljedeća.
while(testni izraz){
//izjave unutar while petlje
}
Petlja while sadrži testni izraz. To je Boolean izraz. Ako je procijenjeni izraz istinit, tada se izvršavaju naredbe unutar while petlje. Na kraju tih naredbi, testni izraz se ponovo procjenjuje. Ovaj proces se ponavlja sve dok testni izraz ne postane lažan. Kada postane lažna, while petlja se završava i kontrola se prenosi na naredbu nakon while petlje.
Slika 02: Program sa while petljom za izračunavanje sume od 5 brojeva
Prema gore navedenom programu, zbroj se inicijalizira na 0, a i inicijalizira se na 1. U while petlji, vrijednost i se procjenjuje. To je manje od 5. Dakle, suma je izračunata. Početna vrijednost suma je 0. Dodaje se na i vrijednost 1. Sada je zbroj 1. Zatim se vrijednost i povećava za jedan. Sada je vrijednost i 2. Manja je od 5. Dakle, suma je izračunata. Trenutni zbir koji je 1 dodaje se i vrijednosti koja je 2. Sada je zbroj 3. Ponovo se povećava vrijednost i. Sada je vrijednost i 3. Ovaj proces se ponavlja. Kada vrijednost i postane 6, izraz postaje lažan jer nije manji ili jednak 5. Dakle, while petlja se završava. Konačno, vrijednost sume se ispisuje na ekran. Ako nije bilo povećanja kao što je i++, tada vrijednost i ostaje ista, što je 1. Manje je od 5. Uslov je uvijek istinit. Tako da će to biti beskonačna petlja.
Koje su sličnosti između for i while petlje?
- I for i while petlja su strukture kontrole ponavljanja u programiranju.
- Izvršenje petlje zavisi od test izraza.
Koja je razlika između for i while petlje?
for vs while Loop |
|
petlja for je struktura kontrole ponavljanja koja omogućava programeru da efikasno napiše petlju koja treba da se izvrši određeni broj puta. | while petlja je struktura kontrole ponavljanja koja izvršava ciljne naredbe sve dok je dati uslov istinit. |
Upotreba | |
petlja for se može koristiti kada je poznat broj iteracija. | while petlja se može koristiti kada broj iteracija nije poznat. |
Inicijalizacija | |
Inicijalizacija se dešava jednom u for petlji. | U while petlji, ako je inicijalizacijski izraz unutar petlje, tada se inicijalizacija obavlja svaki put kada se petlja ponovi. |
Sažetak – for vs while petlja
U programiranju, ponekad je potrebno ponoviti niz izjava više puta. Za postizanje ovih zadataka postoje strukture kontrole ponavljanja. Dvije od njih su for i while petlja. Razlika između for i while petlje je u tome što se for petlja koristi kada je broj iteracija poznat, a while petlja se koristi kada broj iteracija nije poznat.