Back
Close

C++

Adi.exe
9,267 views

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 aKomandaNova vrijednost a
3a += 39
3a -= 12
3a /= 31
3a *= 26
3a %= 21
3a++4
3a--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.

Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.
Go to tech.io