Цикл деген сөз әр салада кездеседi. Оның беретiн негiзгi мағынасы — белгiлi бiр әрекеттi бiрнеше рет қайталау. Турбо Паскаль программалау ортасында да циклдар кездеседi. Олардың көмегiмен программаның қайталанатын бөліктерін программалауға болады. Циклдың оператордың үш түрi бар:
8.1. FOR циклiнiң санау операторы мынадай құрылымды:
FOR <цик_пар> := < бас_мағы> TO <соң_мағ> DO <оператор> Мұндағы FOR, TO, DO — тұрақты сөздер (осыған, дейiн, орындау):
<цик_пар> — параметрлiк цикл, Integerтипi.
<бас_мағы> — бастапқы мағынасы, Integerтипі.
<соң_мағы> — соңғы мағынасы, Integer типі.
<оператор> — Турбо Паскальдiң орындалатын операторы.
FOR операторын қолданғанда ең басында <бас_мағы> өрнегi анықталады және <пар_цик> := <бас_мағы> меншіктеуі орындалады. Осыдан кейiн :<цик_пар> <= <соң_мағы> шарты тексеріледі; егер шарторындалмаса, онда FOR операторы өз жұмысын тоқтатады;
Program Pifagor;
Var i,j:integer;{бiрден онға дейiнгi сандардың қатары}
p:integer; {бiр-бiрiмен қиылысқан сандардың қосындысы}
begin
write(‘ ‘:4);
for j:=1 to 10 do
write(j:4);writeln;
for i:=1 to 10 do
begin
write(i:4);
for j:=1 to 10 do
write(i*j:4); {Пифагор кестесiн көрсету}
writeln;
end;
readln;
end.
FOR циклiн пайдаланғанда 2 жағдай байқалады. Ол өсу қадамы (+1) және (-1)-ге тең болуы.
Өсу қадамы (-1)-ге тең болған жағдайда, ТО қызметшi сөзiнiң орнына DOWNTO қызметшi сөзi қолданылады. Мысалы
s:=0;
if n>=0 then
for i:=1 to n do{i-дiң әр мәнiне 1 қосылады}
s:=s+i
else
for i:=-1 downto n do {i-дiң әр мәнiнен 1 алынады}
s:=s+i;
Басқа екi қайталану операторлары орындау шартын және цикл қайталануын тексередi, бiрақ ол цикл санағымен байланыссыз.
8.2. WHILE цикл операторы:
WHILE <шарт> DO <оператор>
Мұндағы WHILE, DO — тұрақты сөздер (болмайынша [шартты орындау], істеу);
<шарт> — логикалық типті;
<оператор> -Турбо Паскальдің орындалатын операторы.
Егер <шарт> Trueболса, онда <оператор> орындалып, <шарт>қайтадан тексеріледі.
Егер <шарт> False болса, онда WHILE операторы жұмысын тоқтатады.
Мысал 2Машиналық эпсилонды есептеу программасы.
Program eps;
varepsil:real;
begin
epsil:=1; {эпсилонның мәнiн 1-ге меншiктеу}
while epsil/2+1>1 do
epsil:=epsil/2;
writeln(‘Машиналық эпсилон=’,epsil);
end.
8.3. REPEAT . . . UNTIL цикл операторының құрылымы:
REPEAT <цик_ден> UNTIL <шарт>
Мұндағы REPEAT, UNTIL — қызметшi сөздер (қайталай беру, шарт орындалмағанша);
<цик_ден> — бір немесе бірнеше операторлардың тізімі;
<шарт> — логикалық типтiң өрнектелуi.
<цик_ден> операторы бiр рет болса да орындалады, одан кейiн <шарт> тексеріледі, егер: оның мағынасы False болса,<цик_ден> операторы қайталанып орындалады, басқа жағдайда REPEAT. . .UNTIL операторыөз жұмысын тоқтатады.
Мысалы —q1, q2 нүктелік зарядтардың 2<R<20 см аралығында әрбір 4 см сайын өзара әсер ету күштерін табу программасын құрайық. Математикалық формуласы:
F=(q1* q2)/(4*E*E0*R2)
PROGRAM F;
const E=1;E0=8.85; PI=3.14;
VAR A, B, H, Q1, Q2, F: real;
BEGIN
Readln(Q1, Q2);Readln(A, B, H);R:=A;
repeat
F:=Q1*Q2/4*PI*E*E0*R*R;
R:=R+H; Write(‘F=’,F);
Until R>B
End.
REPEAT. . .UNTIL —begin. . . end операторлық жақша секiлдi, сондықтан UNTILдiң алдына нүктелi үтiр қою мiндет емес.