Ključna razlika – for vs while Loop
Program je niz navodil, napisanih v programskem jeziku za izvedbo določene naloge. Lahko je logična ali matematična operacija. Na splošno se stavki v programu izvajajo drug za drugim. Včasih je treba znova in znova izvajati niz stavkov. Za doseganje te naloge se uporabljajo nadzorne strukture. Dva od njih sta zanki for in while. Te strukture pomagajo izvajati zaporedje kode, dokler dani pogoj ni resničen. Sintaksa zanke for je sestavljena iz inicializacije, testnega izraza in posodobitvenega izraza. Sintaksa zanke while vsebuje testni izraz. Ta članek obravnava razliko med zanko for in while. Ključna razlika med zanko for in while je v tem, da je zanko for mogoče uporabiti, ko je znano število ponovitev, zanko while pa, ko število ponovitev ni znano.
Kaj je for Loop?
Zanka for se uporablja v številnih programskih jezikih, kot so C, Java itd. Uporablja se za večkratno izvajanje nabora stavkov. Sintaksa zanke for je naslednja.
za (inicializacija; testni izraz, posodobitev){
//izjave znotraj zanke for
}
Inicializacijski izraz se izvede samo enkrat. Nato se ovrednoti testni izraz. Testni izraz lahko vsebuje spremenljivke, vrednosti, konstanto in operatorje. To je logični izraz. Če je ovrednoteni izraz resničen, se izvede koda znotraj zanke for. Ko dosežete konec zanke, se izvede izraz za posodobitev. Lahko je povečanje ali zmanjšanje. Ponovno se preveri testni izraz. Če je ovrednoteni izraz resničen, se stavki znotraj zanke for izvedejo. Na koncu zanke se izvede izraz za posodobitev. Ta postopek se ponavlja, dokler testni izraz ni napačen. Ko je preskusni izraz napačen, se zanka for zaključi in nadzor se prenese na naslednji stavek za zanko for.
Slika 01: Program z zanko for za izračun vsote 5 števil
Zgornji program najde vsoto prvih petih števil, ki so 1, 2, 3, 4 in 5. V zanki for je i 1. Manjši je od 5. Tako se izračuna vsota. Na začetku je vsota 0. Doda se k i, ki je 1. Vsota je dodeljena spremenljivki vsota. Zdaj je vsota 1. Nato se ovrednoti izraz za posodobitev. I se poveča za ena. Zdaj imam 2. Je manjša od 5. Torej, vsota je izračunana. Prejšnja vrednost vsote je 1 in je dodana vrednosti i, ki je 2. Zdaj je vsota 3. Izraz za posodobitev je ovrednoten in i se poveča za 1. Zdaj je 3. Ta postopek se ponovi. Ko i postane 6, postane izraz napačen, ker 6 ni enako ali manjše od 5. Zato se zanka for zaključi. Na koncu se na zaslon izpiše vsota vseh petih števil.
Kaj je while Loop?
Zanka while izvaja ciljne stavke, dokler je podani pogoj resničen. Sintaksa zanke while je naslednja.
while(preizkusni izraz){
//izjave znotraj zanke while
}
Zanka while vsebuje testni izraz. To je logični izraz. Če je ovrednoten izraz resničen, se stavki znotraj zanke while izvedejo. Na koncu teh stavkov se testni izraz ponovno ovrednoti. Ta postopek se ponavlja, dokler testni izraz ne postane napačen. Ko postane false, se zanka while zaključi in nadzor se prenese na stavek po zanki while.
Slika 02: Program z zanko while za izračun vsote 5 števil
V skladu z zgornjim programom se vsota inicializira na 0, i pa na 1. V zanki while se vrednost i ovrednoti. Manjši je od 5. Torej, vsota je izračunana. Začetna vrednost vsote je 0. Doda se vrednosti i 1. Zdaj je vsota 1. Nato se vrednost i poveča za ena. Zdaj je i vrednost 2. Je manjša od 5. Torej je izračunana vsota. Trenutna vsota, ki je 1, se doda vrednosti i, ki je 2. Sedaj je vsota 3. Vrednost i se spet poveča. Zdaj je vrednost i 3. Ta postopek se ponavlja. Ko vrednost i postane 6, postane izraz napačen, ker ni manjši ali enak 5. Torej se zanka while konča. Nazadnje se vrednost vsote natisne na zaslon. Če ni bilo povečanja, kot je i++, potem vrednost i ostane enaka, kar je 1. Je manjša od 5. Pogoj je vedno resničen. To bo torej neskončna zanka.
Kakšne so podobnosti med zanko for in while?
- Zanka for in while sta strukturi nadzora ponavljanja v programiranju.
- Izvajanje zanke je odvisno od testnega izraza.
Kakšna je razlika med zanko for in while?
zanka vs while |
|
Zanka for je struktura nadzora ponavljanja, ki omogoča programerju, da učinkovito napiše zanko, ki mora biti izvedena določeno število krat. | Zanka while je struktura za nadzor ponavljanja, ki izvaja ciljne stavke, dokler je podani pogoj resničen. |
Uporaba | |
Zanko for lahko uporabite, ko je znano število ponovitev. | Zanko while lahko uporabite, ko število ponovitev ni znano. |
Inicializacija | |
Inicializacija se zgodi enkrat v zanki for. | Če je v zanki while inicializacijski stavek znotraj zanke, se inicializacija izvede vsakič, ko se zanka ponovi. |
Povzetek – for vs while Loop
V programiranju je včasih treba niz stavkov večkrat ponoviti. Za dosego teh nalog obstajajo strukture za nadzor ponavljanja. Dva od njih sta zanki for in while. Razlika med zanko for in while je v tem, da se zanka for uporablja, ko je znano število ponovitev, zanka while pa, ko število ponovitev ni znano.