Shartli operator va uning turlari
Tarmoqlanuvchi hisoblash jarayonlarida ayrim bosqichlari (operatorlari) har doim bir xil tartibida bajarilmaydi, ular qandaydir tekshirilayotgan shartlarga bog‘liq bo‘ladi. Bunday jarayonlarni tanlash operatorlari yordamida yozish mumkin. Tanlash operatorlar hosilaviy operatorlar sinfiga kiradi va shartli va variant operatorlaridan iborat.
Paskal tilida shartli operatorning ikki turi mavjud: to‘liq shartli operator va qishartirilgan shartli operator:
:: = if then else ;
Bunda if, then, else - xizmatchi so‘zlar.
Shunday qilib, to‘liq shartli operator tuzilishi quyidagicha - if B then S1 else S2, bu yerda B - mantiqiy ifoda, S1 va S2 - operatorlar. Bunday shartli operator quyidagicha bajariladi: agar B mantiqiy ifoda true qiymat qabul qilsa, u holda S1 operator bajariladi, aks holda S2 operator bajariladi. Shartli operatorga misol:
if x<0 then i: =i+1 else k: =k+1;
Algoritmlar yozilishida ba’zida shunday hollar uchrab turadiki, qandaydir operatorlarni faqat mantiqiy shart rost bo‘lganda bajarish kerak, aks holda bu operatorlarni bajarish kerak emas. Shunday hollarda qishartirilgan shartli operator ishlatiladi: ::= if then .
Shunday qilib, qishartirilgan shartli operator - if B then S; ko‘rinishida bo‘lib quyidagicha ishlaydi: agar B mantiiqiy ifoda rost qiymat qabul qilsa, u holda S operator bajariladi, aks holda keyingi operatorga o‘tiladi. Shartli operatorda then va else so‘zlaridan keyin faqat bitta operator turishi kerak, agar algoritmda shu joylarda bir nechta operatorlar yozilishi kerak bo‘lsa, u holda ulardan tarkibli operator yaratiladi. Qishartirilgan shartli operator ishlatilishida ehtiyot bo‘lish kerak. Masalan, quyidagi operatorni
if B1 then if B2 then S1 else S2
ikki xil ma’noda tushunish mumkin:
if B1 then begin if B2 then S1 end else S2
yoki
if B1 then begin if B2 then S1 else S2 end
Paskal tilining qoidasi bo‘yicha ikkinchi operatorni ma’nosi to‘g‘ri, ya’ni har qaysi xizmatchi so‘z else so‘ziga eng yaqin bo‘lgan xizmatchi so‘z true mos keladi.
1-misol:
Quyidagi funksiya qiymatini hisoblash dasturini tuzing.
if x <0 then y:x1 else y:2x
yoki
if x<0 then y:x1
if x>0 then y:22
2-misol:
Quyidagi funksiya qiymatini hisoblash dasturini tuzing.
if (x<2) and (x>1)the y:x4 else y:x-1
3-misol:
Quyidagi funksiya qiymatini hisoblash dasturini tuzing.
if x<0 then y: =-4 else if x <1 then y:= sqr(x)3*x+4 else
y:sqr (sqr(x)3*x4)
4-misol:
Quyidagi yig’indini hisoblash dasturini tuzing.
S1 2 3 ...n2 2
label 1;
var i,s:integer;
begin read (n);
s:0; i:0;
1: i: =i+1;
s:s sqr (i);
if i< n then goto1;
end.
4-misolda shartli operatorning qisqa formasidan foydalanilgan.
Mustaqil bajarish uchun topshiriqlar:
1.
Agar A>V bo‘lsa, Y17, Y2A, Y3AB
Berilgan n sonning juft yoki toqligini aniqlang.
Berilgan (X,4) nuqtaning markazi koordinata boshida bo‘lgan R radiusli doiraga tegishli yoki tegishli emasligini aniqlang.
1>0>0>0>0>
Do'stlaringiz bilan baham: |