Parametrli takrorlash operatoriga misol.
1 dan 100 gacha butun sonlarning yigindisini hisoblash dasturi Natijani S deb belgilaymiz.
а) Program hisoblash;
Var i: integer; S: real;
Begin
S:=0;
for i:=1 to 100 do S:=S+i;
Write ( ' S=', S);
End.
b) Program summa;
Var i: integer; S: real;
Begin
S:=0;
for i:=100 downto 1 do S:=S + i;
Write ('S=', S);
End.
Yuqoridagi a) va b) dasturlarning natijasi bir xil bo’ladi. Takrorlanishlar soni oldindan ma‘lum bo’lgan sikllarni tashkil etishda ham FOR operatoridan foydalanish mumkin. Biror y=f(x) funktsiyani argumentning aniq bir [a; b] oralirda h qadam bilan o’zgarishi natijasida hosil bo’ladigan qiymatlarini hisoblash zarur bo’lganda argumentning har bir qiymatida bajariladigan operatorning k takrorlanishlar soni quyidagicha formula bilan aniqlanadi:
K=[(b-a)/h]+1. Bunda [ ]- natijaning kasr qismini tashlab yuborish bilan butungacha yaxlitlashni bildiradi.
Bu formuladan foydalangan holda funktsiyaning qiymatini hisoblovchi dasturni quyidagicha yozish mumkin:
Program h1;
Var k, i: integer;
a, b, h, у, х: real;
Begin
Read (a, b, h);
x:=a;
k:=trunc ((b-a)/h)+1;
For i:=1 to k DO
Begin
y:=f(x);
writeln (x, y);
x:=x+h;
end; end.
Ushbu dasturni kompyuterda bajartirish uchun dasturdagi f(x) funktsiyaning ko’rinishi foydalanuvchi tomonidan aniq berilishi lozim bo’ladi.
Y=(x2-2x+2)/(x-1) funktsiyaning x o’zgaruvchi [-4, +4] oraliqda h=0,2 qadam bilan o’zgargandagi qiymatini hisoblash dasturi tuzilsin. Bunda siklning takrorlanishlar soni k=[(4-(-4))/0.2]+1=41. Dastur quyidagicha bo’ladi:
Program h2;
Var k, i: integer;
a, b, h, у, х: real;
Begin
Read (a, b, h);
x:=a;
k:=trunc ((b-a)/h)+1;
For i:=1 to k do
Begin
y:= (x*x -2*x+2)/(x-1);
writeln (x, y);
x:=x+h;
end; end.
Ushbu dasturni bajarishda kiritiladigan a, b, h o’zgaruvchilarning qiymatlarini foydalanuvchi klaviaturadan mos ravishda -4.0, 4.0 va 0.2 sonlarini terib kiritadi.
2-Misol. 1 dan n gacha butun sonlar kvadratlarining yigindisini hisoblovchi dasturni while operatoridan foydalanib tuzish.
Program toki;
Var i, n: integer;
s: real;
begin
Read (n);
s:=0; i:=1;
While i<=n do
Begin
s:=s+sqr(i);
i:=i+1;
End;
Write (s);
End.
Misol. 2 dan n gacha bo’lgan juft sonlarni yig’indisini chiqarish dasturini REPEAT-UNTIL operatorlari yordamida tuzilsin.
Program juft (output);
Var i, n: integer;
Begin
i:=0;
Repeat
i:=i+2;
Write (i);
Until i<=n;
End.
Yuqorida keltirilgan misollar bilan dars mustahkamlanadi.