47-dars. TARMOQLANUVCHI ALGORITMLARNI DASTURLASH. ELIF OPERATORI
Qo‘yilgan masalani yechish jarayonida har doim ham bitta shart tekshirilmaydi. Shunday masalalar ham borki, ular yechimini topish uchun bir necha shart tekshirilishi kerak bo‘ladi.
1. Shartli o‘tish operatorining qanday ko‘rinishlari mavjud? 2. Shartli o‘tish operatorlari qanday ishlaydi?
elif shartli o‘tish operatori
Boshqa dasturlash tillarida bir necha shart tekshirilishi zarur bo‘lgan hollar uchun CASE tanlash operatori ishlatiladi. Pythonda CASE tanlash operatori mavjud emasligi sababli, ko‘p shartli masalalarni yechish uchun elif operatoridan foydalaniladi. elif – else va if so‘zlarining kombinatsiyasi bo‘lib, “aks holda agar” ma’nosini anglatadi.
Sintaksisi:
if shart: buyruqlar_bloki
elif shart1: buyruqlar_bloki1
…. else:
buyruqlar_bloki2
Misol: Kichik kalkulyator dasturini tuzing
Tayanch tushunchalar
CASE operatori – shartdan kelib chiqib, har bir shartga mos buyruqlar ketma-ketligini bajaradigan if ning takomillashgan ko‘rinishi.
shart True (rost) bo‘lsa, buyruqlar_bloki bajariladi, aks holda ikkinchi shart – shart1 tekshiriladi. shart1 True (rost) bo‘lsa, buyruqlar_ bloki1, aks holda buyruqlar_bloki2 bajariladi.
47-dars. TARMOQLANUVCHI ALGORITMLARNI DASTURLASH. ELIF OPERATORI
79
BUNI BILASIZMI?
a=int(input(‘a=’)) b=int(input(‘b=’)) amal=input(‘add/sub/mul/div:’) if amal==’add’:
c=a+b
elif amal==’sub’:
c=a-b
elif amal==’mul’:
c=a*b
elif amal==’div’:
c=a/b
else:c=’Error’ print(‘Result = ‘, c)
a=8
b=4 add/sub/mul/div:add Result = 12
a=72
b=8 add/sub/mul/div:div Result = 64
a=2
b=4 add/sub/mul/div:deg Result = Error
Ichma-ich joylashgan if shartli o‘tish operatori
if shartli o‘tish operatori tarkibida boshqa if shartli o‘tish operatori mavjud bo‘lishi mumkin. Bunday holatga ichma-ich joylashgan shartli o‘tish operatori deyiladi. Ichki ifni ifodalash uchun tashqaridagiga nisbatan bitta xat boshi (4 ta probel) tashlab yozilishi shart, aks holda ifoda ichma-ich joylashmagan, alohida shart operatori hosil qilingan hisoblanadi.
Sintaksisi:
if shart: buyruqlar_bloki if shart1:
buyruqlar_bloki1 …………………
else: buyruqlar_bloki2
shart True (rost) bo‘lsa, buyruqlar_bloki bajariladi va ikkinchi shart shart1 tekshiriladi.
shart1 True (rost) bo‘lsa, buyruqlar_bloki1 bajariladi.
shart False (yolg‘on) bo‘lsa, buyruqlar_bloki2 bajariladi.
Misol. Imtihon natijasini chiqarish dasturini tuzing.
?
to‘g‘ri ishlaydimi?
4. Tarmoqlanish operatorida buyruqlar ketma-ket ishtirok etsa, ular qanday
xizmatchi so‘zlar orasida yoziladi?
1. Ikki xonali sonning raqamlari toq ekanligini aniqlovchi dastur tuzing.
2. Uch xonali sonda bir xil raqamlar mavjudligini aniqlovchi dastur tuzing. 3. a va b sondan qaysi biri juft ekanligini aniqlovchi dastur tuzing.
4. 3 ta butun son kiritildi. Qaysi biri juft ekanligini aniqlovchi dastur tuzing.
80
IV BOB. DASTURLASH ASOSLARI
1. Masalada faqatgina bitta shart tekshirilsa, qaysi operatordan foydalaniladi?
2. Masalada bir necha shart tekshirilishi lozim bo‘lsa-chi?
3. Ichma-ich joylashgan shartlarda ikkala if operatori bir chiziqda joylashsa, dastur
result= int(input(‘Natijani kiriting(0-5 bahoda):’)) if result>=3:
print(‘Imtihondan o\’tdingiz!’) if result>=5:
print(‘Eng yuqori baho!’)
Natijani kiriting(0-5 bahoda):5 Imtihondan o‘tdingiz!
Eng yuqori baho!
UY VAZIFASI
SAVOL VA TOPSHIRIQLAR
48-dars. AMALIY MASHG‘ULOT
Маsala. Kiritilgan uchta sondan qanchasi musbat, qanchasi musbat emasligini aniqlovchi dastur tuzing
6 7
Boshlash a, b, c
ha a>0 yo‘q ha b>0 yo‘q ha c>0 yo‘q
k,d
Tamom
Chiqarish bloki
Algoritmning tugashi
print(k,d)
1. Uchta a, b va c butun son berilgan. Ular orasidan musbatlari sonini topish dasturini tuzing.
2. Uchta a, b va c butun son berilgan. Ular orasidan musbat va manfiylari sonini topish dasturini tuzing.
3. Ikkita a va b son berilgan. Dastlab kattasini, keyin esa kichigini chiqaruvchi dastur tuzing.
4. Uchta a, b va c butun son berilgan. Ulardan faqat musbatlari kvadratini hisoblab chiquvchi dastur tuzing.
5. Kvadrat tenglamani yechish dasturini tuzing.
6. Hafta raqami 1–7 oraliqda kiritilganda, hafta kunini ekranga chiqaruvchi dastur tuzing.
7. a va b sonlar berilgan. Agar ular musbat va yig‘indisi 100 dan katta bo‘lsa, a sonining b songa nisbatini, ular musbat va yig‘indisi 100 dan katta bo‘lmasa, a ning b ga ko‘paytmasini hisoblash dasturini tuzing.
8. Ikkita son berilgan. Agar birinchi son ikkinchisidan katta bo‘lsa, 1 ni, agar ikkinchi son birinchisidan katta bo‘lsa, 2 ni, agar ikkalasi teng bo‘lsa, 0 ni chiqaruvchi dastur tuzing.