Darslar 44–45 · 2 ta dars · M. R. Fayziyeva, D. M. Sayfurov, N. S. Xaytullayeva. Informatika va axborot texnologiyalari, 9-sinf. «Nashriyot uyi Tasvir», Toshkent, 2020
44
Takrorlanuvchi algoritmlarni dasturlash. while operatori
Darslik: 86–88-betlar
Maqsadwhile sikli va uning tuzilishini biladi, takrorlanishlar soni noma’lum bo‘lgan masalalarni shart bo‘yicha yechadi, sikl shartini o‘zgartirishni unutmaydi va cheksiz siklni tanib to‘xtatadi.
Yangi so‘zlar
while · while: a loop that repeats its body as long as its condition is Truesikl sharti · loop condition: the bool expression checked before every passcheksiz sikl · infinite loop: a loop whose condition never becomes FalseCtrl + C · Ctrl + C: the keys that interrupt a running program in IDLE
Tushuntirish
for takrorlanishlar soni oldindan ma’lum bo‘lganda qulay; soni noma’lum bo‘lsa, while ishlatiladi. Yozuvi: while shart: – keyingi qatorda 4 ta probel chekinish bilan sikl tanasi. Python avval shartni tekshiradi: True bo‘lsa, tanani bajaradi va yana shartga qaytadi, False bo‘lsa, siklni tugatadi; shart boshidanoq False bo‘lsa, tana bir marta ham bajarilmaydi. Shuning uchun sikl o‘zgaruvchisini siklgacha boshlang‘ich qiymat bilan e’lon qilish va tanada uni o‘zgartirish shart: i += 1 yoki yangi son kiritish. Agar shart hech qachon False bo‘lmasa, sikl cheksiz davom etadi; IDLE da uni Ctrl + C tugmalari bilan to‘xtatish mumkin. while True: shartli sikl ham cheksiz bo‘ladi. Kompyuterni «qotirib» qo‘ymaslik uchun cheksiz sikl yozmang, yozgan bo‘lsangiz – to‘xtating.
Namunalar
Sanash: i = 1 ⏎ while i <= 5: ⏎ print(i, end=" ") ⏎ i += 1 Shart i <= 5 rost bo‘lguncha ishlaydi; i 6 bo‘lganda to‘xtaydi. Noma’lum son: s = 0 ⏎ n = int(input()) ⏎ while n != 0: ⏎ s += n ⏎ n = int(input()) ⏎ print(s) 4, 6, 10 va 0 kiritilsa, 0 yig‘ilmaydi va 20 chiqadi.
2 ning darajalari: p = 1 ⏎ while p < 100: ⏎ print(p, end=" ") ⏎ p *= 2 Ekranda 1 2 4 8 16 32 64 chiqadi: p 128 ga yetganda p < 100 sharti yolg‘on bo‘ladi va sikl to‘xtaydi. Necha marta aylanishi oldindan aytilmagan – buni shart hal qiladi.
Sinfda faoliyat
«Shartni kuzating»: guruh doskada while dasturining jadvalini chizadi (qadam, o‘zgaruvchi qiymatlari, shart) va qo‘lda bajaradi; keyin IDLE dagi natija bilan solishtiradi.
Mashq
1
Quyidagi sikl necha marta aylanadi? i = 10 ⏎ while i > 0: ⏎ i -= 3
4
2
Sonning birinchi (eng chapdagi) raqamini while bilan topuvchi dastur yozing (45678 da 4).
x = int(input()) ⏎ while x >= 10: ⏎ x //= 10 ⏎ print(x)
3
Nima uchun quyidagi dastur cheksiz ishlaydi va u qanday tuzatiladi? i = 1 ⏎ while i < 5: ⏎ print(i)
i o‘zgarmaydi, shart doim rost. Tanaga print(i) bilan bir xil chekinishda i += 1 qo‘shish kerak.
4
Qaysi holda for o‘rniga while tanlanadi?
Takrorlanishlar soni oldindan noma’lum bo‘lib, sikl shart bo‘yicha to‘xtaganda.