Darslar 38–39 · 2 ta dars · M. R. Fayziyeva, D. M. Sayfurov, N. S. Xaytullayeva. Informatika va axborot texnologiyalari, 9-sinf. «Nashriyot uyi Tasvir», Toshkent, 2020
38
Amaliy mashg‘ulot: if…else operatori
Darslik: 78-bet
MaqsadAmaliy mashg‘ulotda if…else operatori bilan bo‘linish, eng kattasini topish va qiymatni shartga ko‘ra o‘zgartirish masalalarini dasturlaydi.
Yangi so‘zlar
bo‘linish sharti · divisibility condition: a % b == 0 means a is divisible by b with no remaindermaksimum · maximum: the larger of two or more numbersmodul · absolute value (modulus): the number without its signshartli o‘zlashtirish · conditional assignment: a variable receives a value depending on a condition
Tushuntirish
Bu mashg‘ulotda uchta tipik masala yechiladi. Birinchisi – bo‘linish: a soni b ga qoldiqsiz bo‘linsa, a % b == 0 bo‘ladi, aks holda qoldiq noldan farq qiladi. Ikkinchisi – ikki sondan kattasini topish: a > b bo‘lsa m = a, aks holda m = b – har ikki yo‘lda ham m ga qiymat beriladi, shuning uchun print(m) doim ishlaydi. Uchinchisi – sonning modulini topish: x manfiy bo‘lsagina belgisini o‘zgartiramiz, else kerak emas. Masalani ishlashdan oldin blok-sxemani chizing: har bir shart bitta romb, har bir yo‘l bitta blok. Dasturni kamida ikki xil qiymatda sinang: bir marta shart rost, bir marta yolg‘on bo‘lsin. Bunday ikki tomonlama sinov tarmoqlanuvchi dasturlarning asosiy tekshiruvi hisoblanadi.
Namunalar
Bo‘linishni tekshirish: a = int(input()) ⏎ b = int(input()) ⏎ if a % b == 0: ⏎ print("ha") ⏎ else: ⏎ print("yo‘q", a % b) 17 va 5 uchun qoldiq 2 bo‘lgani uchun yo‘q 2 chiqadi. Kattasini topish: a = int(input()) ⏎ b = int(input()) ⏎ if a > b: ⏎ m = a ⏎ else: ⏎ m = b ⏎ print(m) 8 va 15 uchun 15 chiqadi.
Harorat: t = int(input()) ⏎ if t >= 25: ⏎ print("issiq") ⏎ else: ⏎ print("salqin") 30 daraja uchun issiq chiqadi. Modul: x = int(input()) ⏎ if x < 0: ⏎ x = -x ⏎ print(x) -9 kiritilsa, 9 chiqadi; musbat son esa o‘zgarishsiz qoladi.
Sinfda faoliyat
«Ikki tomonlama sinov»: har bir guruh o‘z dasturi uchun ikkita sinov qiymati tanlaydi (shart rost va yolg‘on bo‘lgan holat), natijani oldindan aytib, so‘ng IDLE da tekshiradi.
Mashq
1
Quyidagi dastur nima chiqaradi? a = 12 ⏎ b = 5 ⏎ if a % b == 0: ⏎ print(a // b) ⏎ else: ⏎ print(a % b)
2
2
Haroratni kiritib, 25 dan yuqori yoki teng bo‘lsa «issiq», aks holda «salqin» chiqaruvchi dastur yozing.
t = int(input()) ⏎ if t >= 25: ⏎ print("issiq") ⏎ else: ⏎ print("salqin")
3
Sonning modulini topuvchi dastur yozing (-9 da 9, 4 da 4).
x = int(input()) ⏎ if x < 0: ⏎ x = -x ⏎ print(x)
4
Nima uchun modul masalasida else yozish shart emas?
Musbat son o‘zgarmaydi; faqat manfiy bo‘lganda amal bajariladi, boshqa holda qiladigan ish yo‘q.