You are on page 1of 5

Naredbe za organizaciju ciklusa (Naredbe ponavljanja)

Vrlo esto je potrebno da se u nekom programu jedna ista naredba ponavlja vie puta. Ukoliko
je broj ponavljanja naredbi unapred poznat, mogue je reiti ovakve situacije uzastopnim
navoenjem iste naredbe, ali se to ne preporuuje (programski kod postaje nepregledan i
predugaak). Probleme u kojima se unapred ne zna koliko puta je potrebno izvriti neku
naredbu nije mogue reiti bez poznavanja naredbi za organizaciju ciklusa.
Naredbe ponavljanja omoguavaju viestruko izvravanje jedne ili vie naredbi u toku jednog
izvravanja programa. Naredbe ije se izvravanje ponavlja u toku jednog izvravanja programa
obrazuju ciklus (petlju).
U Pascal u postoje tri naredbe za opis ciklusa:
naredba FOR
naredba WHILE
naredba REPEAT
Naredba FOR slui za opis ciklusa kod kojih je broj ponavljanja naredbi unapred poznat, dok
naredbe WHILE i REPEAT omoguavaju organizovanje ciklusa sa nepoznatim brojem
ponavljanja (koliko puta e se neke naredbe izvriti zavisi od ispunjenosti odreenog uslova).
Svi zadaci koje reavamo pomou naredbe FOR, mogu se reiti i pomou druge dve naredbe
WHILE i REPEAT. Meutim postoje zadaci koji se obavezno reavaju sa naredbama WHILE i
REPEAT i nije ih mogue reiti upotrebom naredbe FOR (to su problemi u kojima broj
ponavljanja naredbi nije unapred poznat, ve zavisi od ispunjenja nekog uslova).
Naredba FOR (naredba ponavljanja)
Naredba FOR slui za opis ciklusa kod kojih je broj ponavljanja naredbi unapred poznat. Ovi
ciklusi se nazivaju brojaki ciklusi. U njima je vaan parametar tzv. BROJA ili upravljaka
promenljiva, ijom se promenom sadraja prebrojava koliko puta su izvrene naredba u ciklusu.
Naredbu FOR moemo da zapiemo u sledeem obliku:
FOR promenljiva := pv TO kv DO naredba;
pri emu je:
pv poetna vrednost brojaa
kv krajnja vrednost brojaa
naredba; jedna ili vie naredbi koje treba izvriti.
Za brojanje unazad koristi se sledei oblik naredbe FOR:

FOR promenljiva := kv DOWNTO pv DO naredba;

Na slici je prikazano kako se naredba FOR predstavlja u algoritamskoj emi.


Brojaka promenljiva mora biti nekog ordinalnog tipa podataka, kod kojeg moe da se odredi
prethodna i sledea vrednost (ukoliko ona postoji). U zadacima se najee koristi promenljiva
tipa INTEGER. Ovo je vano zbog naina na koji se izvrava naredba FOR.
primer 1: Napisati program koji e ispisivati brojeve od 1 do 10.
program Brojevi;
var
i : integer;
begin
for i := 1 to 10 do
write (i, ); (*dodao sam razmak izmedju brojeva*)
end.
Rezultat izvravanja ovog programa e biti: 1 2 3 4 5 6 7 8 9 10
Umesto jedne naredbe moemo imati i vie naredbi u telu ciklusa. Tada organizujemo blok
naredbi izmeu rezervisanih rei BEGIN i END. Ovo je neophodno da bi kompajler mogao da
prepozna koje naredbe pripadaju ciklusu. U tom sluaju se koristi sledei opti oblik naredbe:
FOR promenljiva := pv TO kv DO
BEGIN
naredba1;
naredba2;

naredbaN;
END;
Primer2: Izracunati I stampati prosecnu ocenu ucenika koji ima N predmeta

Program prosocena;
Var
I,ocena, zbir:integer;
Prosek:real;
Begin
Writeln(unesi broj predmeta);
Readln(N);
Zbir:=0;
For I:= 1 to n do
Begin
Wtiteln(unesi ocenu ,I,. predmeta);
Readln(ocean);
Zbir:=zbir+ocean;
End;
Writeln(prosek:6:2);
Readln
End.
1.Napisati program za ispis kvadratnih korena brojeva od 1 do n.
2.Napisati program za izracunavanje zbira prirodnih brojeva od k do n
3.Napisati progr za izracunavanje zbira prirodnih brojeva deljivih sa 3 ili deljivih sa 5, od k do n
4.Napisati programkoji izracunava koliko ima prirodnih brojeva od 1 do n koji su deljivi sa 3 I koji
su parni.
5.Napisati program za izracunavanje aritmeticke sredine prirodnih brojeva od 7 do 15.
6.Napisati progr za izracunavanje aritmeticke sredine brojeva deljivih sa 4 na interval od 1 do n.
7. Napisati program za izracunavanje zbira reciprocnih vrednosti prirodnih brojeva od k do n.
8.Napisati program koji prebrojava koliko ima dvocifrenih brojeva ciji je zbir cifara 7.
9.Napisati program koji ispisuje sve trocifrene Amstrongove brojeve. Broj je Amstrongov ako je
jednak zbiru kubova svojih cifara.
10.Napisati program koji ispisuje sve trocifrene brojeve kojima je zbir cifara stotine I desetice
veci od cifre jedinice.

You might also like