Shart bo‘yicha takrorlash operatorlari. Shart bo‘yicha takrorlash operatorlari ikki xil ko‘rinishda bo‘lib ular quyidalardan iborat:
a) repeat sikli (takrorlanadigan amallar kamida bir marotaba bajarilib so‘ngra shart tekshiriladi).
bu takrorlashning tuzilishi quyidagicha:
Repeat
Until Bu yerda bajarilishi lozim bo‘lgan amallar yoki sikl tanasida joylashagan operatorlar majmui, takrorlanishi, bajarilishi yoki to‘xtatilishini boshqaruvchi shartdan iborat. Bu xil ko‘rinishdagi sikl hech bo‘lmaganda bir marotaba bajariladi, negaki operatorlar ketma-ketligi shartni tekshirishdan oldin yozilgan.
Repeat takrorlash operatorini bajarilishini quyidagi masala yordamida ko‘rib chiqamiz:
Masala. y=ax2 funksiya qiymatlarini x=0 dan x=5 gacha 0,5 qadam bilan hisoblovchi dastur yarating.
Masala shartiga ko‘ra, foydalanuvchi faqat a-ning qiymatini kiritishi dastur esa y=ax2 funksiya qiytmatini 0,5 qadam bilan hisoblashi zarur. a=2 qiymat uchun natija quyidagicha bo‘lishi zarur, ya’ni dastavval x=0 da funksiya qiymati xisoblanishi (chop etilishi), so‘ngra x-ning qiymati 0,5 ga ottirilishi va hosil bo‘lgan qiymat 5-dan katta bo‘lmasligi tekshirilishi zarur (quyiidagi jadvalga e’tibor bering).
X
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
Y
0
0.5
2
4.5
8
12.5
18
24.5
32
40.5
50
Masala shatriga mos dastur quyidagicha:
var x,a,y:real;
begin
readln (a);
x:=0;
repeat
y:=a*sqr(x);
x:=x+0.5;
writeln(y:5:2);
until (x>5)
end.
var x,a,y:real;
begin
readln (a);
x:=0;
repeat
y:=a*sqr(x);
writeln(y:5:2);
x:=x+0.5;
until (x>5)
end.
Dastur natijasi:
b) while sikli(takrorlanadigan amallar bajarilishi uchun avval shart tekshiriladi). Bu takrorlashning tuzilishi quyidagicha:
While d o
Bu yerda mantiqiy ifoda (shart) qiymati True bo‘lguncha sikl tanasidagi operatorlar bajariladi, aks hollarda sikl tanasidagi amallar bajarilmaydi.