E N D
U većini programa se javljaju situacije kada je potrebno neku naredbu ili grupu naredbi izvršiti više puta. Ukoliko je naredbu potrebno izvršiti konačan i mali broj puta, problem je moguće razrešiti i korišćenjem linijskih struktura, tako što bi se naredba jednostavno ponovila određeni broj puta uzastopno. Međutim,može se desiti da je naredbu potrebno ponoviti veliki broj puta, a veoma često je taj broj promenljiv u zavisnosti od izvršenja ostatka programa. U takvim slučajevima nije moguće iskoristiti linijsku strukturu, već je neophodno uvesti takozvane ciklične strukture. Ciklične strukure omogućavaju izvršavanje jedne ili više naredbi određeni broj puta, pri čemu broj ponavljanja može biti definisan prirodnim brojem ili uslovom koji određuje kada se ponavljanje prekida. Napomenimo i to da se ciklične strukture vrlo često nazivaju i ciklusima ili petljama.
Ponavljanjeblokanaredbivišeputaomogućen je naredbamaciklusa (naredbamaponavljanjailirepetativnimnaredbamailipetljama). U Object Pascalu (kojikoristimu u Delphi okruženju) postojetri naredbeciklusa: FOR – bezuslovnanaredbaciklusa WHILE- naredbasapreduslovom REPEAT – naredbasapostuslovom
Naredba FOR FOR i:=pv TO kv DO N; i– brojačka (kontrolna) promenljiva pv – početnavrednost kv – krajnjavrednost N – naredba Svedokpromenljivaiprima vrednostodpočetnevrednosti do krajnjevrednostiizvršava se naredba N. Npr: For i:=1 to 100 do S:=S+i; * brojač i mora biti integer, boolean ili char tipa
Koraciizvršenjanaredbe for: • Kontrolnojpromenljivojidodeljuje se početnavrednost • Ako je i>kvzavršava se izvršenjenaredbe FOR • ako je i<=kv, izvršava se naredba N • Kontrolnapromenljivaiprima vrednostsvogsledbenika (ako je u pitanjucelobrojnavrednost - zajedanvećuodprethodne) i:=succ(i)odnosno i:=i+1 • Nastavlja se izvršenjepetljeodtačke 2 FOR naredbamožeimatioblik: FOR i:=pv DOWNTO kv DO N;
1. Sastaviti aplikaciju koja će računati zbir prvih n prirodnih brojeva. npr. za uneto n=3 računa se s=1+2+3
Procedure TForm1.Button1Click (Sender:Tobject); Var n,s,i:integer; BEGIN n:=StrToInt (edit1.text); S:=0; FOR i:=1 TO n DO S:=S+i; edit2.text:=IntToStr(s); END;
Domaći ZADATAK1: Sastavi aplikaciju koja računa proizvod prvih n prirodnih brojeva. ZADATAK 2: Sastavi aplikaciju koja će izračunati zbir recipročnih vrednosti brojeva u intervalu od a do b ZADATAK 3: Sastavi aplikaciju koja računa n!