Masalalarni echishda eng muhim elementlardan biri bu "shart" deb nomlangan va bu "agar to'g'ri borsang, boshingni yo'qotasan, to'g'ri ketasan va otingni yo'qotasan..." yoki ko'proq oddiygina vaziyat "agar... bo'lsa"... aks holda...
Agar "Shart" blokida ko'rsatilgan shart bajarilsa, "YES shart" ga (YES amallar) mos keladigan amallar bajariladi, aks holda "YO'Q shart" (NO amallari) ga mos keladigan harakatlar bajariladi. Shartlarni shunday qo’yish kerakki, har qanday holatni natijasi tekshirishda ikki holarda bo’lsin - shart bajarilgan yoki bajarilmagan.
AGAR bitta tanlov barcha variantlarni qamrab olmasa, "o'rnatilgan" shartlar qo'llaniladi. Shartlar bir-biriga ichma-ich kiritilishi mumkin (joylashish darajasi cheklanmagan). Ushbu holat "tanlov" deb ham nomlanadi.
shartni tekshirishni ta'minlash uchun dasturlash tillarida IF("agar") ning maxsus aralashmasi ishlatiladi. Ushbu operatorda tekshirilishi kerak bo'lgan shartlar va YES va NO tarmoq uchun amallar ko'rsatilgan.
IF operatori qanday ishlashini tushunish uchun odatiy shartlarni tekshirish va tanlash vazifalarini ko'rib chiqaylik.
1 topshiriq. Havo harorati uchun dastur tuzing va Agar daraja bo’lsa “Yaxshi ob-havo!" matnni aks ettirish va agar "yomon havo" matnni.
Masalani qo’yilishi: Boshlang'ich ma'lumotlar qiymati t, s satrni shakllantirish kerak. Agar da s = 'Ob-havo yaxshi!' aks holda s = 'Yomon ob-havo!'.
Dasturning matni:
kirish t
agar (t >10) bo'lsa
s = 'Ob-havo yaxshi!'
aks holda
s = 'Yomon ob-havo!'
agar tamom
chiqish s
Pythonda dastur matni :
|
|
Haroratni darajalarda kiriting:15 Ob-havo yaxshi ! |
Dasturning har bir "tarmoq" ning boshi " : " belgisi bilan ko'rsatilgan. IF (agar) operatorida shart qavsga olinmagan. Shunday qilib, IF operatorining oxiri yo'q. Pythonning fikriga ko'ra, keyingi operator yozuvsiz, satrda boshlanadi. Shunday qilib, Python-da belgilarni ajratish muhim rol o'ynaydi.
Dastur davomida bir nechta shartni tekshirish talab qilinishi mumkin. Bunday holatda biz if-elif-else ketma-ketligidan foydalanamiz. elif - else va if so'zalrining jamlanmasi bo'lib, "aks holda, agar" deb tarjima qilinadi. Bunday if bilan boshlangan ketma-ketlik bir nechta elif lardan iborat bo'lishi mumkin.
Python avval if shartini tekshiradi, shart bajarilmasa elif ga o'tadi, birinchi elif sharti bajarilmasa keyingi elif ga o'tadi va hokazo davom etaveradi.
2 topshiriq (xuddi shu manba). P bahoni chiqarish dasturini tuzing. Agar P=5 bo’lsa, “Ofarin!”, P=4 bo’lsa, “Yaxshi!” va P≤3 bo’lsa, “Ish yoqmas!” matnlari chiqarsin.
Masalani qo’yilishi: P natural son berilgan bo’lsin va 5 dan oshmaydigan qiymat berilgan holda qiymatga qarab, P shartda ko'rsatilgan qoidalarga muvofiq s satrni hosil qilishingiz kerak. P qiymatni ketma-ket ikki marta tekshirish kerak.
Dasturning matni:
kiritish P
agar (P = 5) bo'lsa
s = 'Ofarin! »
aks holda agar (P = 4)
s = 'Yaxshi!'
aks holda
s = 'Ish yoqmas!'
agar tamom
chiqish s
Python dasturi:
![]() |
Sizning bahoingiz? 4 Yaxshi ! |
Yuqorida aytganimizdek, if-elif-else zanjirida shartlarning biri bajarilishi bilan, Python qolgan shartlarni tekshirmaydi va ularni bajarmaydi. Lekin ba'zida biz 2 yoki undan ko'p shartlarni tekshirishni talab qilishimiz mumkin, buing uchun AND va OR operatorlaridan foydalanamiz.
OR operatori
OR ingliz tilidan "yoki" deb tarjima qilinadi, va ikki va undan ko'p shartlardan biri bajarilishini tekshirishda ishlatiladi.
3 topshiriq. Hafta kuni berilgan bo’lsin, agar shanba yoki yakshanba bo’lsa bugun dam olish kuni, aks holda ish kuni degan xabarni chiqarsin.
Masalani qo’yilishi. Ixtiyoril hafta o’zgaruvchisini tekshirsin, agar shanba yoki yakshanba bo’lsa dam olish kuni yozuvini chiqasin aks holda ish kuni.
Python dasturi:
![]() |
Hafta kunini kiriting? yakshanba Dam olish kuni ! |
AND OPERATORI
AND ingliz tilidan "va" deb tarjima qilinadi, va ikki va undan ko'p shartlarning barchasi bajarilishini tekshirishda ishlatiladi. AND operatori bilan yozilgan shartlarning barchasi bajarilgandagina TRUE qiymati qaytadi, agar shartlardan biri bajarilmay qolsa ham FALSE qiymati qaytadi.
4 topshiriq. Butun tipga tegishli x o‘zgaruvchi berilgan. Uning qiymatiga mos keluvchi f funksiyaning butun qiymati hisoblansin.

Python dasturi:
![]() |
x ga qiymat kiriting: 3 f(x)= 6 |
5 topshiriq. Ikkita haqiqiy son berilgan. Agar ularning birinchisi ikkinchisidan kichik bo‘lsa, uni nol bilan, aks holda berilgan sonlarning o‘rta arifmetigi bilan almashtiring.
Python dasturi:
![]() |
Ikkita haqiqiy son kiriting a=9 b=2 Birinchi son katta = 5.5 |
6 topshiriq. Ikkita haqiqiy son berilgan. Bu sonlarning kichigini yarim yig‘indisi bilan, kattasini esa ko‘paytmasi bilan almashtiring.
Python dasturi:
![]() |
Ikkita haqiqiy son kiriting a=9 b=5 Kichik son b = 7.0 Katta son a = 45.0 |
7 topshiriq. Uchta o‘zaro har xil sonlarning yig‘indisi birdan kichik bo‘lsa, berilgan sonlarning eng kichigi, aks holda eng kattasi topilsin.
Python dasturi:
![]() |
Uchta haqiqiy son kiriting a=6 b=8 b=9 Kichik son = 6.0 |
8 topshiriq. Uchta a, b va c haqiqiy sonlar berilgan bo‘lsin. Tomonlari shu sonlarga teng uchburchak mavjudmi? Mavjud bo‘lsa, uning perimetri va yuzi topilsin.
Python dasturi:
![]() |
Uchta haqiqiy son kiriting a=7 b=8 c=9 Uchburchak mavjud Uchburchak perimetri= 24.0 Uchburchak yuzi= 26.832815729997478 |
Eslatma. Ildizlar va logarifmlarni hisoblashda, math modulning sqrt() va log() funksiyalaridan foydalaning. math.pi modulidan pi() o’zgarmas aniqlanadi.
Mustaqil yechish uchun topshiriqlar
Masala 1. Natural son berilgan. Bu son: juft, 4 ga karraliligini aniqlang.
Masala 2. Natural son berilgan. Bu son: toq, 5 ga karraliligini aniqlang
Masala 3. Natural son berilgan. Bu son: toq, 7 ga karraliligini aniqlang
Masala 4. Natural son berilgan. Bu son: juft, 10 ga karraliligini aniqlang
Masala 5. Berilgan tomonlar bo’yicha quti mavjud:AxBxC. MxN o’lchamli eshikdan o'tib ketishini aniqlang.
Masala 6. Haqiqiy raqam berilgan. Uning qaysi soni ekanligini aniqlang: musbat, manfiy, nol.
Masala 7. D diametrli g’o’la berilgan, eni A ga teng bo’lgan kvadrat brusni kesish mumkinmi?
Masala 8. S yuzali maydoni bo'lgan kvadrat zalda, hech bo'lmaganda devordan sahnaga K o'tish joyi bo'lishi uchun R radiusli dumaloq sahnani qo'yish mumkinmi?
Masala 9. Plaskart vagonni o’rindiq nomeri berilgan. Bu joyni aniqlang: yuqori yoki pastki, bo'linma yoki yon tomonda.
Masala 10. Pul miqdori ma'lum. Iloji bo'lsa, uni 500, 100, 10 va 2 so’mlik tanga bilan almashtiring.
Masala 11. Ikkita idish mavjud: A qirrali kub, H balandligi va asosi R radiusdan iborat silindr. M katta hajmdagi suyuqlik mos keladimi aniqlang: birinchi idish, ikkinchisi, ikkalasi ham.
Masala 12. Ikkita idish mavjud: A qirrali kub, H balandligi va asosi R radiusdan iborat silindr. M katta hajmdagi suyuqlikbilan to’ldirish mumkinmi aniqlang: birinchi idishni, ikkinchisini, ikkalasini ham.
Masala 13. Haqiqiy sonlar berilgan: X, Y, Z. Shunday tomon uzunligli uchbirchak mavjudmi, u to’g’ri birchakli uchbirchak bo’ladimi aniqlang.
Masala 14. X soni berilgan. Bu raqam berilgan [a,b] oralig'iga tegishli yoki yo'qligini aniqlang.
Masala 15.Ixtiyoriy X va Y uchun Z=1/(XY) funksiyaning qiymatini aniqlang.
Masala 16. Haqiqiy sonlar berilgan: A, B, C. A<B
Masala 17. Ikki o'zgaruvchiga "AND" va "OR" mantiqiy operatsiyalarini bajarish uchun algoritm va dastur yarating.
Masala 18.YIL ma'lum. Bu yil pog'ona yili bo'lishini va bu yil qaysi asrga tegishli ekanligini aniqlang.
raxmat