C++
Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
Naredbe ponavljanja
Inkrement
U programiranju je često potrebno promijeniti vrijednost varijable u odnosu na njenu trenutnu vrijednost (npr. uvećati vrijednost varijable za 5). U C++ programskom jeziku postoji nekoliko načina da se ovo postigne.
int a = 2;
a = a + 5;
Iako ova sintaksa možda izgleda malo čudno, bitno je sjetiti se da kada koristimo operator pridruživanja u C++ prvo evaluira desna strana operatora, a nakon toga se vrijednost pridruži lijevoj. To znači da će se u slučaju a = a + 5
prvo evaluirati a + 5
. Pošto je vrijednost a bila 3 prije poziva ovog operatora a + 5
izraz ima vrijednost 7 i ta vrijednost se dodjeljuje varijabli a koja sada i sama ima vrijednost 7.
Sintaksa a = a + 5
se može i kraće napisati kao a += 5
. Ovo će uvećati trenutnu vrijednost varijable a za 5.
Najčešće je potrebno uvećati vrijednost neke varijable za 1. U C++ postoji još kraća sintaksa da se ovo postigne a to je a++
.
Početna vrijednost a | Komanda | Nova vrijednost a |
---|---|---|
3 | a += 3 | 9 |
3 | a -= 1 | 2 |
3 | a /= 3 | 1 |
3 | a *= 2 | 6 |
3 | a %= 2 | 1 |
3 | a++ | 4 |
3 | a-- | 2 |
Ponavljanje sa goto
Ovu promjenu vrijednosti varijable je moguće iskoristiti zajedno sa goto iskazom kako bi neku komandu napisali jednom, a ponovili više puta.
U ovom programu vrijednost varijable a
je postavljena na 0. Nakon toga označena je lokaicija u kodu sa labelom pocetak
. Program nakon toga ispisuje poruku "Hello World!"
i uvećava vrijednost a
za 1. Nakon toga jednim if uslovom je provjereno da li je a < 5
i ukoliko je to istinit iskaz naredbom goto
se tok programa vraća na poziiju pocetak
. Ovo je bilo prvo izvršavanje ove naredbe ponavljanja (prva iteracija). Sada se program opet nalazi na poziciji pocetak
ali je vrijednost a
1, a ne 0 kao što je to bilo u prvoj iteraciji. Na ekran će se još jednom ispisati ova poruka i vrijednost a
će se opet uvećati za 1 te će se zbog istinitosti iskaza program opet vratiti na poziciju pocetak
. Ova petlja će se ponavljati sve dok je uslov unutar if iskaza ispunjen, a to znači da će se ova petlja ponoviti 5 puta pošto se a
uvećava za 1 svakom njenom iteracijom.
For petlja
Ovakav način ponavljanje neke komande više puta može biti veoma koristan u progamiranju. Trenutni način na koji je napisan nije veoma čitljiv i podložan je greškama. Zato je u većini programskih jezika implementirana for petlja. Ova petlja ima isti zadatak kao i petlja koju smo napravili pomoću goto
komande i potrebno je definisati iste parametre:
- Početnu vrijednost varijable (
int a = 0
- 7. linija koda) - Način na koji se vrijednost varijable mijenja (
a++
- 13. linija koda) - Uslov koji mora biti zadovoljen kako bi se opet izvršio blok koda (
a < 5
- 15 linija koda)
Uzevši ove parametre u obzir, for petlju je moguće napisati na idući način:
for (Početna vrijednost; Uslov; Promjena vrijednosti)
Ako sada ubacimo ove uslove iz prethodnog primjera naredba će izgledati ovako
for(int a = 0; a < 5; a++)
Nakon što definišemo parametre za for petlju potrebno je pomoću {
i }
označiti gdje počinje i završava blok naredbi koji će se izvršavati.
Ovaj program ima isti izlaz kao i prethodni primjer. Razlika je u tome što je ovaj način pisanja petlje ponavljanja manje podložan greškama i jednostavniji za napisati. Varijabla a
se još naziva i brojač i praksa je da ime varijable za brojač bude i
.
Ovi parametre je moguće postaviti na bilo koje vrijednosti. Recimo da želimo da nam je početna vrijednost brojača 17, da se on povećava za 6 svakom iteracijom sve dok je njegova vrijednost manja od 52.
Sve što smo trebali uraditi je promijeniti parametre i petlja sada radi novi zadatak.
Možete sami pokušati mijenjati ove parametre u prethodnom primjeru i vidjeti kako izgleda petlja dok vam ne bude ugodno napraviti petlju kakvu vi želite.
- Napravite petlju koja ide od 0 do 10 i
i
se uvećava za 2 svakom iteracijom. - Napravite petlju koja ide od 10 do 0 i
i
se umanjuje za 1 svakom iteracijom. - Napravite petlju koja ide od 0 do 100 i
i
se uvećava za 10 svakom iteracijom.
Primjeri korištenja for petlje
1. Ispisati brojeve od 1 do 10
2. Ispisati parne brojeve od 1 do 10
Pošto znamo da se vrijednot varijable i
uvećava svakom iteracijom petlje. Moguće je raditi različite operacija sa ovom varijablom. Jedna od mogućnosti je da provjerimo parnost varijable i
i ispišemo varijablu na ekran samo ukoliko zadovoljava uslov.
2. Ispisati brojeve od 100 do 10
Pošto znamo da se vrijednot varijable i
uvećava svakom iteracijom petlje. Moguće je raditi različite operacija sa ovom varijablom. Jedna od mogućnosti je da provjerimo parnost varijable i
i ispišemo varijablu na ekran samo ukoliko zadovoljava uslov.