fork: = k2 downtokl doS;
bu erda down to (gacha kamayib) — Paskal tilining xizmatchi so‘zi.
Bu operatorda к parametri k2 dan toki kl gacha kamayish tartibida ( agar к — butun qiymatli o‘zgaruvchi bo‘lsa, sikl qadami — 1 ga teng) o'zgaradi. Operatorning ishlash prinsipi oldingi operatomiki- day qolaveradi.
Misol: yuqorida ko'rsatilgan misolning dasturini qaytadan tuzaylik. Bu holda dasturdagi sikl operatorigina o'zgaradi, xolos:
fori:= n downto1 do; qolgan operatorlar o'z o'mida o'zgarmay qoladi.
Repeattakrorlash(sikl)operatori. Yuqorida aytib o'tganimizdek, sikldagi takrorlanishlar soni oldindan ma’lum bo'lsa, parametrli (for)sikl operatori foydalanish uchun juda qulay. Lekin ko'pgina hollarda siklik jarayonlardagi takrorlanishlar soni oldindan ma’lum bo'lmaydi, balki sikldan chiqish ma’lum bir shartning bajarilishi yoki bajarilmasligiga bog'liq bo'ladi. Bunday hollarda repeat yoki whilesikl operatorlaridan foydalanish zarur. Agar sikldan chiqish sharti siklik jarayonning oxirida joylashgan bo'lsa, repeat operatoridan, bosh qismida joylashgan bo'lsa, whileoperatoridan foydalanish maqsadga muvofiqdir. Repeat operatorining yozilish shakli quyidagicha bo'ladi:
repeat SI;S2;... SN untilB\ bu yerda repeat (takrorlamoq), until (gacha) — xizmatchi so'zlar; SI,S2,...,SN Iar — sikl tanasini tashkil etuvchi operatorlar;
В — sikldan chiqish sharti (mantiqiy ifoda).
Operatorning ishlash prinsipi juda sodda, ya’ni siklning tanasi В mantiqiy ifoda rost qiymatli natija bermaguncha takror-takror hisoblanaveradi. Misol sifatida yana yuqoridagi yig'indi hisoblashni olaylik. Bu yerda shakl o'zgarmaydi, lekin TForml.Button 1Clickprosedurasiga o'zgartirish kiritiladi:
procedure TForml.ButtonlClick(Sender: TObject); Var
S:String; i,n:Integer; Summ:Real;
begin
S:=InputBox('Kiritish darchasi','N ni kiriting',"); N:=StrToInt(S);
Summ:=0;