Darslar 40–41 · 2 ta dars · M. R. Fayziyeva, D. M. Sayfurov, N. S. Xaytullayeva. Informatika va axborot texnologiyalari, 9-sinf. «Nashriyot uyi Tasvir», Toshkent, 2020
40
Amaliy mashg‘ulot: elif operatori
Darslik: 81-bet
MaqsadAmaliy mashg‘ulotda tarmoqlanuvchi dasturlarda hisoblagich (sanagich) o‘zgaruvchidan foydalanadi, ikki sonni tartiblaydi va elif zanjiri bilan raqam bo‘yicha nom tanlaydi.
Yangi so‘zlar
hisoblagich · counter: a variable that starts at 0 and grows by 1 each time something is foundk += 1 · k += 1: the short form of increasing the counter by onetartiblash · ordering: printing two numbers from the larger to the smaller (or the reverse)elif zanjiri · elif chain: a ladder of conditions where only the first true block is run
Tushuntirish
Hisoblagich – nechta element berilgan xususiyatga ega ekanini sanash uchun ishlatiladigan o‘zgaruvchi. Uning boshlang‘ich qiymati 0 qilib qo‘yiladi, har gal shart bajarilsa k += 1 qilinadi, oxirida k chiqariladi. Uchta son bo‘lsa, har biri uchun alohida if yoziladi, chunki har bir sonni mustaqil tekshirish kerak; elif bu yerda noto‘g‘ri bo‘lardi. Ikki sonni kattasi birinchi bo‘lib chiqadigan qilib tartiblash uchun if…else yetarli: a >= b bo‘lsa print(a, b), aks holda print(b, a). Raqam bo‘yicha nom tanlash – elif zanjirining odatiy masalasi: masalan, svetofor uchun 1 – qizil, 2 – sariq, 3 – yashil, boshqa raqam uchun else da xato xabari chiqariladi. Dasturni chegaraviy qiymatlar (1, 3, 0, 4) bilan ham sinab ko‘ring.
Namunalar
Juft sonlarni sanash: a = input().split() ⏎ k = 0 ⏎ if int(a[0]) % 2 == 0: ⏎ k += 1 ⏎ if int(a[1]) % 2 == 0: ⏎ k += 1 ⏎ if int(a[2]) % 2 == 0: ⏎ k += 1 ⏎ print(k) 4 7 10 kiritilsa, ikkita juft son bor, shuning uchun 2 chiqadi.
Tartiblash: a = int(input()) ⏎ b = int(input()) ⏎ if a >= b: ⏎ print(a, b) ⏎ else: ⏎ print(b, a) 3 va 8 uchun avval kattasi chiqadi: 8 3.
Sinfda faoliyat
«Sanash musobaqasi»: jamoalar uchta son uchun «nechtasi 5 dan katta» dasturini yozadi; qaysi jamoa oldin ishlaydigan va barcha chegaraviy qiymatlarda to‘g‘ri dastur yozsa, g‘olib.
Mashq
1
-3, 5 va 0 sonlari orasida nechtasi musbat?
1
2
Svetofor chirog‘i raqami kiritiladi: 1 – «qizil: to‘xtang», 2 – «sariq: tayyorlaning», 3 – «yashil: yuring», boshqa raqam – «xato». Dastur yozing.
n = int(input()) ⏎ if n == 1: ⏎ print("qizil: to‘xtang") ⏎ elif n == 2: ⏎ print("sariq: tayyorlaning") ⏎ elif n == 3: ⏎ print("yashil: yuring") ⏎ else: ⏎ print("xato")
3
Ikki sonni «avval kattasi, so‘ng kichigi» qilib chiqaradigan dastur 5 va 5 uchun nima chiqaradi?
5 5
4
Nima uchun hisoblagichning boshlang‘ich qiymati 0 bo‘lishi kerak?
Sanash hech narsa topilmagan holatdan boshlanadi; boshqa qiymat natijani buzadi.