93
begin
readln (A,V);
IF A> B THEN GOTO L
ELSE A : = A + 1 ;
L: A : = A + V ;
writeln (A)
end.
9.3. Shartli o‘tish operatori
Dasturda boshqaruvni ma'lum shart asosida u yoki bu tarmoqqa uzatish shartli
o‗tish operatori yordamida amalga oshiriladi. Shartli o‗tish
operatori ikki xil
ko‗rinishda ishlatilishi mumkin: to‗liq va qisqa.
Shartli o‗tish operatorining to‗liq ko‗rinishi:
IF
THEN S1 ELSE S2;
Bu erda IF (agar), THEN (u holda) va ELSE (aks holda) degan xizmatchi
so‗zlar, S1 va S2 ixtiyoriy operatorlar.
Operatordagi mantiqiy ifoda boshqaruvni uzatish shartini belgilaydi.
Operatorning ishlash tartibi quyidagicha:
Agar keltirilgan mantiqiy ifoda TRUE (rost) qiymatni qabul qilsa, ya'ni
qo‗yilgan shart bajarilsa, THEN - xizmatchi so‗zidan keyingi operator bajariladi, aks
holda ELSE xizmatchi so‗zdan keyingi operator bajariladi.
Mantiqiy ifodalarda munosabat amallari, mantiqiy amallar ishlatilishi mumkin.
Masalan,
A>5, A=B, X<1.5 va h.k.
Shartlar oddiy va murakkab bo‗lishi mumkin. Agar mantiqiy ifodada bitta
munosabat amali berilgan bo‗lsa, «oddiy shart» ni ifodalaydi.
Kattaliklar orasidagi shartlar HAM, YOKI, EMAS (Paskal tilida AND, OR,
NOT) mantiq amallari belgilari orqali bog‗lanuvchi bir necha munosabatlardan iborat
bo‗lsa „murakkab shartlar" deb ataladi.
Masalan,
94
Matematik yozilishi
Algoritmik tilda yozilishi
1) 2<=X< 5 (X>=2) AND (X< 5)
AND amalining natijasi uning ikkala argumenti ham rost bo‗lsa rost bo‗ladi.
OR amalining natijasi rost bo‗lishi uchun argumentlardan birining rost bo‗lishi
etarli.
NOT amalining natijasi argumentning inkor qiymatiga teng, ya'ni argument rost
bo‗lsa - natija yolg‗on, argument yolg‗on bo‗lsa - natija rost bo‗ladi.
Masalan:
(4 < 5) AND (5 < 100) - mantiqiy ifoda TRUE (rost),
(SIN(X) > 1) AND (5 DIV 2=0) ifoda FALSE (yolg‗on) qiymatga teng.
Shuni ta'kidlab o‗tish kerakki, agar mantiqiy ifodalar, biz yuqorida
aytganimizdek, mantiqiy amallar yordamida (AND, OR, NOT) murakkab ko‗rinishga
ega bo‗lsa, ular qavslarga olib yoziladi.
Shartli o‗tish operatorining ishlatilishini misollarda ko‗rib chiqamiz.
1) IF x>0 THEN y:=sqrt(x) ELSE z:= sqr(x);
Operatorning bajarilishi natijasida x>0 bo‗lsa, u holda y:= sqrt(x) operatori, aks
holda z:= sqr(x) operatori bajariladi.
Ayrim algoritmlarda ba'zan
shunday xol uchrashi mumkinki, bunda hisoblash
jarayonida ayrim amallar ba'zi bir shartlar bajarilgandagina hisoblanadi,
aks holda,
hech qanday amal bajarilmaydi. Bu holda shartli o‗tish operatorini qisqa ko‗rinishda
ifodalash mumkin.
IF
THEN ;
Misol:
IF X<1 THEN Y:=sqr(X);
Shartli o‗tishda operator o‗rnida, o‗z navbatida, yana shartli o‗tish operatorining
to‗la va qisqa ko‗rinishlari ishlatilishi mumkin. Masalan:
1) IF Bl THEN IF B2 THEN A;
Bu erda B1va B2 - mantiqiy ifoda, A - operator.
95
Bu operatorning bajarilishi natijasida B1 mantiqiy ifoda tekshiriladi, agar TRUE
qiymat qabul qilsa, B2 mantiqiy ifoda tekshiriladi, u ham rost bo‗lsa (TRUE), A
operator bajariladi.
Agar B1 yoki B2 mantiqiy ifodalar yolg‗on bo‗lsa (FALSE), shartli o‗tish
operatoridan keyingi operator bajariladi.
Agar shartli o‗tish operatorida THEN yoki ELSE dan
keyin bir necha operator
guruhi bajarilsa, ular tarkibiy operator ko‗rinishida yozilishi kerak, ya'ni
operatorlar
qavsi - BEGIN va END lar orasida yoziladi.
1>