Presentation is loading. Please wait.

Presentation is loading. Please wait.

PROGRAMSKE PETLJE Milenković Gabrijela.

Similar presentations


Presentation on theme: "PROGRAMSKE PETLJE Milenković Gabrijela."— Presentation transcript:

1 PROGRAMSKE PETLJE Milenković Gabrijela

2 Programske petlje U okviru ove celine obrađuju se 3 nastavne jedinice:
1. Programska petlja for 2. Programska petlja while 3. Programska petlja do-while

3 Programske petlje Često u procesu programiranja se javlja potreba za ponavljanjem programa. Za ponavljanje delova programa upotrebljavaju se naredbe ponavljanja ili programske petlje. One su sastavni deo svakog programskog jezika, a zavisno od mesta ispitivanja uslova mogu se podeliti na: Programske petlje s ispitivanjem uslova na početku Programske petlje kod kojih se uslov ponavljanja nalazi na kraju niza naredbi koje se ponavljaju

4 Uzmu li se u obzir navedeni kriterijumi, u programskom jeziku C razlikuju se:
Programske petlje for i while Programska petlja do-while

5 For petlja For petlja se obično koristi kada u progamu treba realizovati takozvanu brojačku petlju. Brojačka petlja podrazumeva da je unapred (pre ulaska u petlju) poznat (može da se izračuna) broj ponavljanja tela petlje. <brojač> - ime promenljive koja predstavlja brojač petlje, <dg> - početna vrednost brojača petlje, <gg> - konačna vrednost brojača petlje, <korak> - vrednost koja se dodaje brojaču petlje na kraju svake iteracije brojač = dg, gg, korak naredba

6 for (<izraz1>; <izraz2>; <izraz3>)
For petlja u programskom jeziku C ima širi smisao od navedene definicije brojačkih petlji. Format for-naredbe u C-u je: for (<izraz1>; <izraz2>; <izraz3>) <naredba> gde: <izraz1> - vrši inicijalizaciju promenljivih koje se koriste u petlji (što može da bude postavljanje početne vrednosti brojača petlje), <izraz2> - predstavlja uslov na osnovu koga se odlučuje da li će se telo petlje još izvršavati ili se izvršenje petlje prekida - petlja se izvršava dok je vrednost ovog izraza različita od nule (uslov za izvršenje tela petlje može da bude dok brojač petlje ne postigne svoju gornju granicu) <izraz3> – definiše promenu vrednosti promenljivih koje se koriste u petlji. Navedena promena se vrši nakon svake iteracije ( tu se može definisati kako se menja vrednost brojača petlje nakon svake iteracije). Bilo koji od izraza može biti izostavljen, ali se znak ‘;’ mora pisati.

7 Zadatak: Sabiranje N brojeva čije se vrednosti unose sa tastature.
Rešenje: Brojačkom petljom u ovom slučaju definiše se deo koda koji će se izvršiti tačno N puta. #include <stdio.h> main() { int i,n,k,S; printf(“unesite koliko brojeva treba sabrati\n”); scanf(“%d”,&n); printf(“unesite brojeve\n”); for ( i=0, S=0; i<n; i++ ) scanf(“%d”,&k); S=S+k; } printf(“suma unetih brojeva je %d\n”,S);

8 WHILE PETLJA While petlja je uslovna petlja kod koje se uslov ponavljanja proverava na početku. Minimalni broj izvršavanja naredbi u while petlji je nula. Oblik while petlje: while (uslov izvođenja) { naredbe; } A to znači: dok je (uslov ispunjen) ponavljaj naredbe unutar bloka naredba izraz da ne

9 Zadatak 1. Kolike su vrednosti promenljivih i i t? i=1; t=0;
while (i<=5) { t+=2; i++; } i 1 2 3 4 5 6 t 8 10 -

10 Zadatak 2. Kolike su vrednosti promenljivih x i y? x=2; y=1;
while (x<=10) x+=2; y+=i; x 2 4 6 8 10 12 y 1 13

11 Zadatak 3. Kolike su vrednosti promenljivih i i t? t=1;
while (i>=10) { i+=2; } t+=i; i 2 t 3

12 RAZLIKA IZMEĐU FOR I WHILE PETLJE
Naredba while obično se upotrebljava kada se ne zna tačan broj ponavljanja naredbi u petlji, dok naredbu for primjenjujemo u zadacima u kojima je broj ponavljanja unapred poznat. Naredba while nema kontrolnu promenljivu koja se menja ponavljanjem za razliku od naredbe for.

13 DO – WHILE PETLJA A to znači:
Do-while petlja je petlja kod koje se uslov ponavljanja ispituje na kraju bloka naredbi. Naredbe unutar petlje se izvršavaju bar jedanput. Oblik do-while petlje: do { blok naredbi; } while (uslov); A to znači: radi ponavljaj naredbe unutar bloka } sve dok je uslov ispunjen naredba izraz da ne

14 Primer 1. i=1; do { i++; } while (i<=10); Kolika je vrednost promenljive i? Rešenje: i: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 i=11

15 Primer 2. i=11; do { i++ } while (i<=10); Kolika je vrednost promenljive i? Rešenje: i=12; objašnjenje: Ulazimo u petlju, i se povećava za 1, tj. i postaje 12, izlazimo iz petlje i proveravamo uslov, 12>10 pa uslov nije ispunjen i prekidamo program.

16 Primer 3. i=1; a=1; do { a=a+2; } while (i<=10); Kolike su vrednosti promenljivih a, i? Rešenje: a je beskonačno. Imamo beskonačnu petlju zato što i nigde ne menja svoju vrednost, svo vreme ostaje 1.

17 Kako to možemo popraviti? Rešenje:
do { a=a+2; i++; } while (i<=10); Kolike su vrednosti promenljivih a, i? Je li ovo jedino moguće rešenje? i=11, a=21; Ovo nije jedino moguće rešenje. Može biti npr. i--, i+=2, itd.

18 Napisati program za ispis prirodnih brojeva od 1 do 5.
Primer 4. Napisati program za  ispis prirodnih brojeva od 1 do 5. #include <stdio.h> main () { int i=1; do printf("%d\n", i); i++; } while (i<=5); ispis na ekranu

19 Rezime for petlja Prednosti:
početna inicijalizacija brojača, ispitivanje uslova i korak brojača se nalaze na jednom mestu ako neki blok naredbi treba ponoviti tačno određeni broj puta jednostavnije je koristiti for petlju Nedostaci: nedostatak je što se može javiti greška kod inicijalizacije samog brojača

20 while petlja koristimo je ako broj ponavljanja petlje nije unapred poznat nego čekamo da se ispuni neki uslov kada je uslov ispunjen petlja se prekida blok naredbi unutar petlje se ne mora izvršiti ni jednom

21 do-while petlja slična while petlji koristi se kada broj ponavljanja petlje nije unapred poznat glavno obeležje je da se blok naredbi izvršava barem jednom

22 RAZLIKA WHILE I DO-WHILE
petlja prvo proverava uslov, pa ako je uslov ispunjen blok naredbi se izvršava blok naredbi se ne mora izvršiti ni jednom, jer se na početku ispituje uslov, i ukoliko nije ispunjen blok naredbi se ne izvršava do-while petlja prvo izvršava blok naredbi, pa tek onda ispituje uslov blok naredbi se izvršava bar jednom, čak i ako uslov od početka nije ispunjen

23 Zadaci za vežbanje Svaki zadatak možete uraditi i pomoću for, while i do while petlje. Izračunati proizvod prvih n unetih brojeva. Izračunati zbir korena n proizvoljno unetih brojeva. Za n unetih brojeva izračunati zbir kvadrata parnih a prebrojati neparne elemente. Prikazati na ekranu sve neparne brojeve od 1 do 99. Izračunati n-ti stepen celog broja a. Izračunati srednju vrednost 15 unetih brojeva koji su deljivi sa 3. Izračunati zbir kvadrata i proizvod kubova svih brojeva od a do b. Za n unetih brojeva ako su neparni izračunati zbir i proizvod, parne prebrojati. Za 10 unetih brojeva prikazati sve pozitivne a za negativne izračunati zbir apsolutnih vrednosti. Izračunaj i prikaži stepen broja 2 do unete vrednosti n.


Download ppt "PROGRAMSKE PETLJE Milenković Gabrijela."

Similar presentations


Ads by Google