Presentation is loading. Please wait.

Presentation is loading. Please wait.

Programiranje - Naredbe za kontrolu toka programa – 3. dio

Similar presentations


Presentation on theme: "Programiranje - Naredbe za kontrolu toka programa – 3. dio"— Presentation transcript:

1 Programiranje - Naredbe za kontrolu toka programa – 3. dio
Kolegij: Programski jezik C++ Ak. god. 2017/2018 Doc. Dr. Sc. Marko Maliković

2 Petlja for Koristi se ako nam je poznat broj ponavljanja nekog dijela kôda Općenita sintaksa: for (pocetni_izraz; uvjet_izvodjenja; izraz_prirasta) blok_naredbi

3 Petlja for Koristi se ako nam je poznat broj ponavljanja nekog dijela kôda Općenita sintaksa: for (pocetni_izraz; uvjet_izvodjenja; izraz_prirasta) blok_naredbi Prvo se izvršava pocetni_izraz Njime se pridružuje početna vrijednost brojaču koji će kontrolirati ponavljanje petlje

4 Petlja for Koristi se ako nam je poznat broj ponavljanja nekog dijela kôda Općenita sintaksa: for (pocetni_izraz; uvjet_izvodjenja; izraz_prirasta) blok_naredbi Zatim se izračunava uvjet_izvodjenja (tipa bool) Ako je jednak true onda se izvodi blok_naredbi, a u suprotnom se izlazi iz petlje

5 Petlja for Koristi se ako nam je poznat broj ponavljanja nekog dijela kôda Općenita sintaksa: for (pocetni_izraz; uvjet_izvodjenja; izraz_prirasta) blok_naredbi Na kraju se izvršava izraz_prirasta ... i program se vraća na uvjet_izvodjenja

6 Primjer korištenja petlje for
//Program za računanje faktorijela #include <iostream> #include <conio.h> using namespace std; int main() { int n; cout << "Upiši prirodni broj: "; cin >> n; long fjel = 1; for (int i = 2; i <= n; ++i) {fjel = fjel * i;} cout << n << "! = " << fjel << endl; getch(); return 0; }

7 Petlja for - Dodatne mogućnosti
pocetni_izraz i izraz_prirasta mogu se sastojati od više izraza odvojenih zarezom Na primjer, u programu za računanje faktorijela možemo: Inicijalizirati varijablu fjel unutar petlje for Izračunavati vrijednosti varijable fjel unutar petlje for

8 Petlja for – Dodatne mogućnosti
//Program za računanje faktorijela #include <iostream> #include <conio.h> using namespace std; int main() { int n; cout << "Upiši prirodan broj: "; cin >> n; long fjel; int i; for (i = 2, fjel = 1; i <= n; fjel = fjel * i, ++i) {;} cout << n <<"! = " << fjel << endl; getch(); return 0; } I kontrolnu varijablu i faktorijel inicijaliziramo unutar petlje

9 Petlja for – Dodatne mogućnosti
//Program za računanje faktorijela #include <iostream> #include <conio.h> using namespace std; int main() { int n; cout << "Upiši prirodan broj: "; cin >> n; long fjel; int i; for (i = 2, fjel = 1; i <= n; fjel = fjel * i, ++i) {;} cout << n <<"! = " << fjel << endl; getch(); return 0; } Faktorijel izračunavamo unutar petlje

10 Petlja for – Dodatne mogućnosti
//Program za računanje faktorijela #include <iostream> #include <conio.h> using namespace std; int main() { int n; cout << "Upiši prirodan broj: "; cin >> n; long fjel; int i; for (i = 2, fjel = 1; i <= n; fjel = fjel * i, ++i) {;} cout << n <<"! = " << fjel << endl; getch(); return 0; } Deklaraciju varijable smo morali izbaciti ispred petlje jer bi "int i = 2, fjel = 1" na početku petlje značilo da deklariramo i "i" i "fjel"

11 Petlja for – Dodatne mogućnosti
//Program za računanje faktorijela #include <iostream> #include <conio.h> using namespace std; int main() { int n; cout << "Upiši prirodan broj: "; cin >> n; long fjel; int i; for (i = 2, fjel = 1; i <= n; fjel = fjel * i, ++i) {;} cout << n <<"! = " << fjel << endl; getch(); return 0; } Od bloka naredbi for petlje ostala je samo prazna naredba ";" ali je ne smijemo izostaviti jer bi inače prva slijedeća naredba bila obuhvaćena u petlju

12 Napomena Ako for petlja sadrži deklaraciju varijable tada se područje te varijable prostire samo do kraja te petlje Na primjer, za ovaj kôd prevoditelj javlja grešku: #include <iostream> #include <conio.h> using namespace std; int main() { for (int i=1;i<=10;++i) cout << i << endl; } int j = i*10; getch(); return 0;

13 Petlja for - Savjet izbjegavati promjenu vrijednosti kontrolne varijable unutar bloka naredbi for petlje jer: Kôd postaje nepregledan Može se dogoditi da petlja bude beskonačna Primjer loše implementacije algoritma: #include <iostream> using namespace std; int main() { int m; cin >> m; for (int i=1; i<=100; ++i) if (i%m==0) {i=i-m;} cout << i << endl; } return 0;


Download ppt "Programiranje - Naredbe za kontrolu toka programa – 3. dio"

Similar presentations


Ads by Google