Понављање (петља, итерација) је структура која омогућава понављање одређених активности.
FOR петља Исказ FOR омогућава да се неки део алгоритма понови тачно одређени број пута. Синтакса овог исказа је:
for kp:=pv to kv do iskaz;
где је
- kp - контролна променљива која одређује колико ће се пута извршити исказ у for исказу;
- pv - почетна вредност контролне променљиве;
- kv - крајња вредност контролне променљиве;
Исказ for се може писати и на следећи начин
for kp:=kv downto pv do iskaz;
при чему се исказ извршава за вредности које иду од крајње до почетне, односно од веће ка мањој вредности контролне променљиве.
Пример: Израдити програм којим се исписује збир свих бројева од 1 до 1000. program suma; uses crt; var i, s: longint; begin clrscr; s:=0; for i:=1 to 1000 do s:=s+i; writeln('zbir svih brojeva od 1 do 1000 iznosi ',s);
end.
WHILE петља Исказ WHILE омогућава извршавање неког исказа све док је неки услов испуњен, односно истина (true). Када услов престане бити истина, престаје и извршавање исказа, односно искаче се из петље и програм се наставља извршавањем исказа који је изван WHILE структуре.
while log_izraz do iskaz; Видљиво је да је могуће да се while исказ не изврши ниједном уколико је вредност логичког израза одмах постављена на false.
Пример: Израдити програм којим се исписује збир свих бројева од 1 до 1000 применом while наредбе. program suma; uses crt; var i, s: longint; begin clrscr; s:=0; i:=1; while i<=1000 do begin s:=s+i; i:=i+1;
end; writeln('zbir svih brojeva od 1 do 1000 iznosi ',s);
end.
REPEAT ... UNTIL петља Исказ REPEAT...UNTIL омогућава извршавање одређених акција све док је услов (логички израз) једнак false, то јест док услов није задовољен. У тренутку када логички израз добије вредност true престаје извршавање исказа унутар repeat...until структуре. repeat naredba_1; naredba_2; ... naredba_n
until u slov ; У оваквој структури исказ(и) ће се извршити најмање једном, јер се за разлику од while петље овде услов тестира накнадно, то јест прво се изврши скуп исказа унутар петље, а потом се тестира истинитост логичког израза.
Пример: Израдити програм којим се исписује зброј свих бројева од 1 до 1000 применом repeat ... until petlje. program suma; uses crt; var i, s: longint; begin clrscr; s:=0; i:=1; repeat
s:=s+i;
i:=i+1;
until i>1000; writeln('zbi r svih brojeva od 1 do 1000 iznosi ',s);
end.
|