Takrorlanuvchi jarayonning bu ko’rinishi takrorlanish soni oldindan noma'lum bo’lgan hollarda, ya'ni takrorlanishdan chikish ma'lum shartga boglik bo’lgan hollarda ishlatiladi.
Takrorlanishning bu jarayonida takrorlanishdan chikish sharti takrorlanish tanasini bajarishdan oldin tekshiriladi.
Ushbu operatorning umumiy ko’rinishi quyidagichadir:
::q
WHILE DO yoki
WHILE L DO M
bu yerda WHILE – hozircha, do – bajarish ma'nosini anglatuvchi xizmatchi so’zlar, L – mantiqiy ifoda, M – operatorlar yoki operatorlar guruhi, u takrorlanish tanasini belgilaydi. Takrorlanish tanasida bitta yoki bir nechta operatorlar guruhi bo’lishi mumkin. Bunda operatorlar guruhi albatta Begin va End operatorlari orasida yozilishi kerak.
Operatorning bajarilishi quyidagicha:
1 mantiqiy ifodaning qiymati hisoblanadi.
Agar, 1 mantiqiy ifoda rost qiymatga ega bo’lsa, M operatori bajariladi va bu operatori 1 mantiqiy ifodaning qiymati yolgon bo’lgunchaqayta-qayta bajariladi.
Agar, 1 mantiqiy ifodaning qiymati birinchi tekshirishdayek yolgon bo’lsa M operatori biron marta ham bajarilmaydi va boshqaruv WHILE operatoridan keyingi operatorga uzatiladi.
Agar, 1-mantiqiy ifoda rost bo’lib, EHM M operatorni bajarish davomida, biror sababga ko’ra takrorlanishdan chikish talab etilsa, u holda Paskal algoritmik tilida EXIT operatori orqali amalga oshiriladi.
1-misol. Bizga A haqiqiy son berilgan bo’lsin 3 ifodaning qiymatini saqlaydigan qo’shimcha o’zgaruvchi kattalik kirgizishimiz lozim. Agar, biz bu kattalikni U identifikatori bilan belgilasak, u holda K=0 da y=1 dan boshlab, bitta qadam bilan o’zgarishiga 3 formulani (darajaga kutarishni) Y=Y*3 rekkurent formula bilan almashtiramiz. U holda EHMni takrorlanishdagi hisobdan chikish sharti Y>A bo’ladi.
Yuqorida ko’rib chiqilgan operatordan foydalanib, ushbu misolni dasturini tuzamiz.
Program wel;
Var k: intejer; y, m:real;
Begin
Y:=1; k:=0; m:=30;
While y<=m do
Begin Y:=y*3; k:=k+1;
Writeln (k=, y=y)
End; End.
Sharti keyin tekshiriladigan takrorlanish jarayoni.
Takrorlanish jarayonining REPEAT operatori takrorlanishlar soni noma'lum bo’lganda ishlatiladi.
Umumiy ko’rinishi: REPEAT S UNTIL b;
bu yerda b - logik ifoda, S - sikl tanasi.
WHILE operatoridan farq qilib shart siklning oxirida ishlatiladi, logik ifodani TRUE qiymatida hech bo’lmaganda bir marta bajariladi.Funktsiyalarni jadval ko’rinishida chiqaradigan universal programma ishlab chikish mumkin.
PROGRAM TABULFUN(INPUT,OUTPUT);
VAR XN,XK,HX,A,X,Y : REAL;
I, N : INTEGER;
BEGIN READ(XN,XK,HX,A);
N:=TRUNC((XK-XN)/HX)+1; X:=XN;
FOR I:=1 TO N DO BEGIN
Y:=(A*A*A)/(A*A*A+X*X*X);
WRITELN(X,Y); X:=X+HX;
END; END.
WHILE sikl operatoridan foydalanishda butun tipli N, I o’zgaruvchilarni tasvirlash va sikllar takrorlanishini hisoblovchi o’zlashtirish operatori yukoladi., ya'ni
WHILE X<=3.01 DO
«sikl tanasi»
REPEAT operatori ham shunga o’xshash bo’lib,
REPEAT «sikl tanasi»
UNTIL X ( 3.01;
Do'stlaringiz bilan baham: |