until B;
Bu yerda birinchi operator operator tanasining boshlanishini kursatsa, oxirgi operator uning tugaganini aniklaydi. V mantikiy ifoda rost qiymat kabo‘l kilguncha takrorlanish jarayoni davom etadi. Repeat operatori yordamida kompyuter elementlar funktsiyalarni hisoblash algiritmini berishimiz mumkin. Misol sifatida eksponensial funktsiyalarni karaymiz:
bu yerda e qiymati oldindan berilgan cheksiz kichik son bo‘lib katorga yoyilgan funktsiyani hisoblashdagi kerakli aniklik darajasini ta’minlaydi.
Shunday qilib argumentning ixtiyoriy qiymati uchun eksponensial funktsiyani hisoblash dasturini xosil qildik. Bu dasturda takrorlanishlar soni oldindan ma’lum bo‘lmay, berilgan shart asosida aniklanadi. Lekin kupchilik masalalarda takrorlanishlar soni oldindan ma’lum bo‘ladi. Bunday xollarda parametrli takrorlanish operatoridan foydalanish maksadga muvofik bo‘ladi.
3) Parametrli takrorlovchi operatorlar odatda takrorlanishlar soni oldindan aniqbo‘lgan hollardagina ishlatiladi. Bundan tashkari parametrli takrorlovchi operaatoralarning ba’zi o‘zgaruvchilar uchun avtomatik tartibda o‘zgarish imkonini bergani uchun ham foydalaniladi.
Anikroq qilib uning imkoniyatlarini:
a) o‘zgaruvchilarni o‘zgarish operator tanasida bajarilishi;
b) uning yo’nalishini anikligi (usishi, kamayaiashai);
v) har bir harakat ni ifodalash kabilar bilan aniklanadi.
Bu operatorning umumiy ko‘rinishi
for i:=A TO B DO [operator]
ko‘rinishida bo‘ladi.
Bunda -for - uchun;
i -operatorning o‘zgaruvchisi;
A -operator o‘zgaruvchisi kabo‘l qiladigan boshlang‘ich qiymat;
TO -gacha;
V -operator o‘zgaruvchisi kabo‘l kiluvchi oqirgi qiymati;
DO -operator tanasi;
operator - operator.
Masalan, for i:=1 TO 20 DO M[i]:=2*i
Bu misolda boshkaruvchi i-o‘zgaruvchi 1,2,3...20 gacha bo‘lgan qiymatni kabo‘l qiladi.
Bundan tashkari o‘zgaruvchi ifoda orqali ham berilishi mumkin.
Masalan:
for j:= x + 2 downto x - 2 do
begin
M[j * 2 - 1]:=Func (A,B)
Prog(M,J)
end.
Bu misolda j ning qiymati ketma-ket tartibda boshlang‘ich x + 2 qiymatidan oxirgi x - 2 qiymatiga kadar kamayadi.
Endi parametrli takrorlovchi operatorning sintaktik ko‘rinishini kursatadigan bo‘lsak.
Boshkaruvchi o‘zgaruvchilar uchun quyida gi chegaralar mavjud.
Boshkaruvchi o‘zgaruvchi sifatida oddiy o‘zgaruvchi ishlatilishi kerakki, u shu Qismda bo‘lsin;
Boshkaruvchi o‘zgaruvchi butun turga tegishli bo‘lsin.
Boshlang‘ich va oxirgi qiymatlar o‘zgaruvchi bilan bir xil turga tegishli bo‘lishi kerak.
Operator tarkibida o‘zgartirish qilish mumkin emas.
Operator tarkibidan tashkariga murojaat qilish mumkin emas.
Parametrli takrorlovchi operatorni ishlatilishiga doir misollar kuraylik.
Masalan, 1 dan 100 gacha bo‘lgan rakamlar ketma-ketligini hisoblash dasturini yozamiz. Bu dasturda passiv ishlatilmayapti. Shuning uchun parametrli takrorlovchi operatorni o‘z orqali to‘zamiz. Tuzilayotlgan dasturni ham ikki xil ko‘rinishda tashkil kilamiz.
Programm M1 (input, output);
VAR i, s -integer;
begin s:=0;
for i:=1 to 100 do s:=s+i;
write (s);
end.
Bunda hisoblash jarayoni jarayoni birdan yuzgacha bo‘lgan rakamlarni quyida n, ya’ni
1,2,3,...,100 ketma-ketlikda yig‘indisi hisoblanadi. Navbatdagi ushbu masala uchun yuqoridan kuyiga, ya’ni 100 dan 1 gacha takrorlab yig‘indi hisoblanadi.
Dastur down to ooperatori bilan birgalikda tashkil qilinadi.
Programm M2 (input, output);
VAR i, s -integer;
begin s:=0;
for i:=100 down to 1 s:=s+i;
write (s);
end.
Bu dasturdan tashkari massivli yoki indeksli o‘zgaruvchili masalalar uchun ham dastur tuzish mumkin.
Masalan,
Dasturi
Programm M2 (input, output);
t:=array [1...100] of Real;
VAR i -integer;
Y -Real;
A -t;
begin s:=0;
for i:=1 to 100 do Read (A [i]);
Y:Y+A [i];
write (Y);
end.
Bu berilgan ifodada ham massiv e’lon qilinyapti, ham takrorlovchi operator ishlatilyapti.
Shu ko‘rsatilgan tartiblarda takrorlovchi operatorlarni tashkil qilish va ular yordamida masalalarni xal qilish mumkin.
Dostları ilə paylaş: |