qo'shilsin knopkasini bosish natijasi 8.22-rasmda ko‘rsatilgan). а д -
"n e g a tive" i f x c O
"poritiv#" i f x > C|
"zeto" otherwise
8.21-rasm. Kiritish chizig'ining holati yaratilayotgan dastur qatorining
holatiga ta’sir qilishi
Yangi chiziqni 8.22-rasmda ko‘rsatilgan holatga kiritib o'rnatish
nima uchim kerak bo'lishi mumkin? Ikkita chiziqli yangi vertikal chiziq
dastuming x>0 (uning sarlavhasida joylashgan) shartiga taalluqli bo'lgan
fragmentini ajratib ko'rsatadi.
а д . -
"negative " if x < 0
"positive" if Ix > 0
\i "zero" otherwise
8.22-rasm. Dasturga yangi qator qo'yish natijasi (8.21-rasmdagi holatdan)
8.20-listing. Dasturlashni davom ettirish variantiga misol
f(x) :* "negstive " if x < 0
if
x>0
I "positive"
■jigpositive" if x >100
“zero*
otherwise
f(l) * "positive”
f(io 3) » "big positive"
Dasturni bajarish rejimida, bu esa f(x)m hisoblashda sodir bo'ladi,
kodning har bir qatori ketma-ket bajariladi. Masalan, 8.20-listingning
oxiridan bitta oldindagi qatorida f ( l ) hisoblanadi.
Bu listing kodining har bir qatori ishini ko'rib chiqamiz.
1. x=l bo'lganligi uchun, x<0 sharti bajarilmadi, natijada birinchi
qatorda hech narsa sodir bo'lmaydi.
2. Ikkinchi qatoming sharti x>o bajarilgan, shu sababli kalta vertikal
chiziq bilan umumiy fragmentga birlashtirilgan ikkala keyingi qator
bajariladi.
3.f(x) fimksiyasiga/^="positive" qiymati beriladi.
4. x>1000 sharti bajarilmadi, shu sababli f(x)ga "big positive"
qiymati berilmaydi, u "positive" qatoriga tengligicha qoladi.
5. Oxirgi qator bajarilmaydi, chunki shartlardan biri (x>0) haqiqiy
145
bo‘lib chiqdi, natijada otherwise ("aks holda") operatoriga zarurat
tug‘ilmadi.
0>