6-dars: while sikli
2-blokQarorlar va takrorlash5–8 darslar
Bu darsdan keyin siz
whilebilan takrorlanadigan amalni yozasiz- siklning uch qismini (holat, shart, o’zgarish) ajratib ko’rsatasiz
- cheksiz sikl sababini topasiz va tuzatasiz
Nazariya
“Nazariya” bo'limiga havolaSikl uch qismdan iborat
“Sikl uch qismdan iborat” bo'limiga havolaHar ishlaydigan while siklida uchta narsa bo’ladi: sikl boshlanishidan oldingi
boshlang’ich holat, har aylanishda tekshirilib turadigan shart va sikl ichidagi
o’zgarish. O’zgarish shartga ta’sir qilmasa, sikl to’xtamaydi.
siklloop
Kodning bir bo’lagini shart bajarilib turgan vaqtda qayta-qayta bajarish.
while — «shu shart rost ekan, davom et» degani.
jami = 0 # 1. boshlang'ich holati = 1while i <= 5: # 2. shart jami = jami + i i = i + 1 # 3. o'zgarishprint(jami) # 15Cheksiz sikl
“Cheksiz sikl” bo'limiga havolai = i + 1 qatorini olib tashlasangiz, i doim 1 bo’lib qoladi, shart doim rost
bo’ladi va programma to’xtamaydi. Terminalda Ctrl+C bosib to’xtatiladi.
break va shartli chiqish
“break va shartli chiqish” bo'limiga havolaBa’zan chiqish sharti sikl o’rtasida ma’lum bo’ladi — o’shanda break ishlatiladi.
U siklni darhol to’xtatadi va shartni ham tekshirmaydi.
while True: parol = input("Parol: ") if parol == "steam": print("Kirdingiz") break print("Xato, yana urinib ko'ring")while True — ataylab cheksiz sikl, chiqish esa break orqali. Bu naqsh parol,
menyu va o’yin siklida ko’p uchraydi.
Bashorat qiling
“Bashorat qiling” bo'limiga havolaAvval o'ylang: bu kod nima chiqaradi? Ishga tushirishdan oldin yozing.
n = 3while n > 0: print(n) n = n - 1print("Boshladik!")Haqiqiy natija:
3 2 1 Boshladik!
Har aylanishda n chiqariladi va bittaga kamayadi. n = 0 bo'lganda shart yolg'on bo'ladi va sikldan chiqiladi — 0 chiqarilmaydi.
Javobni ko'rish
3 2 1 Boshladik!
Har aylanishda n chiqariladi va bittaga kamayadi. n = 0 bo'lganda shart yolg'on bo'ladi va sikldan chiqiladi — 0 chiqarilmaydi.
Avval o'ylang: bu kod nima chiqaradi? Ishga tushirishdan oldin yozing.
i = 1jami = 0while i < 4: jami = jami + i * i i = i + 1print(jami)Haqiqiy natija:
14
Kvadratlar yig'indisi: 1 + 4 + 9 = 14. i = 4 bo'lganda shart yolg'on, shuning uchun 16 qo'shilmaydi.
Javobni ko'rish
14
Kvadratlar yig'indisi: 1 + 4 + 9 = 14. i = 4 bo'lganda shart yolg'on, shuning uchun 16 qo'shilmaydi.
Sinab ko’r
“Sinab ko’r” bo'limiga havolaUch programma bor. Uchinchisida i = i + 1 qatori ataylab izohga olingan — cheksiz
sikl qanday ko’rinishini xavfsiz kuzatishingiz mumkin.
Sikl qadamlovchi
Har qadamda o'zgaruvchilar jadvalini kuzating. Klaviatura: → bitta qadam.
Bu simulyator while siklini qadamlab bajaradi: har aylanishda o'zgaruvchilar qanday qiymat olayotgani jadvalda ko'rinadi. Uchinchi variantda i = i + 1qatori ataylab yo'q — sikl hech qachon tugamaydi.
JavaScript'siz sinash: daftarga jami va i ustunlarini chizing vawhile i <= 5 siklining har aylanishida ikkisining qiymatini yozib boring. Oxirida jami 15 bo'lishi kerak.
Ekranga chiqdi
Xatoni toping
“Xatoni toping” bo'limiga havolaBu kod ataylab buzuq — xatoni toping
i = 1while i <= 3: print(i)i = i + 1Python shunday javob beradi:
1 1 1 1 ... (cheksiz davom etadi, Ctrl+C bilan to'xtatiladi) KeyboardInterrupt
Sababi va tuzatish
i = i + 1 qatorining otstupi yo'q — u sikl ichida emas, sikldan KEYIN turadi. Sikl esa unga hech qachon yetib bormaydi.
Bu xatoning yomon tomoni: Python xato xabarini bermaydi, kod «shunchaki ishlamaydi».
Shu sababli otstup — bezak emas, mantiq. To’g’risi: i = i + 1 ni 4 bo’shliq bilan
surib, print(i) bilan bir qatorga tenglashtirish.
O’zingizni sinang
“O’zingizni sinang” bo'limiga havola1Siklning uch qismi qaysilar?
Javobni ko'rish
Boshlang’ich holat (sikldan oldin), shart (while yonida) va o’zgarish
(sikl ichida). O’zgarish shartga ta’sir qilmasa, sikl cheksiz bo’ladi.
2n = 3 bo'lsa, while n > 0 sikli nechta son chiqaradi va nechtasi?
Javobni ko'rish
Uchta: 3, 2, 1. n = 0 bo’lganda shart yolg’on bo’ladi, shuning uchun
0 chiqmaydi.
3Cheksiz sikl paydo bo'lganda uni qanday to'xtatasiz va sababini qanday topasiz?
Javobni ko'rish
Terminalda Ctrl+C. Sababni topish uchun savol berish kerak: «shart
qachon yolg’on bo’ladi?» — agar javob yo’q bo’lsa, o’zgarish yozilmagan yoki
shartga ta’sir qilmayapti.
4while True: qachon ishlatiladi va undan qanday chiqiladi?
Javobni ko'rish
Chiqish sharti sikl o’rtasida ma’lum bo’lganda (parol so’rash, menyu).
Chiqish break orqali bo’ladi.
5Sikl ichidagi qatorning otstupi bo'lmasa nima bo'ladi?
Javobni ko'rish
U qator sikldan tashqarida qoladi va sikl tugagandan keyin bajariladi. Agar bu qator o’zgarish bo’lsa — sikl cheksiz bo’ladi, lekin Python xato bermaydi.
Topshiriq
“Topshiriq” bo'limiga havolaTopshiriq — darajangizni tanlang
Asos · 5–7-sinf — Vizual va aniq ko'rsatmali
1 dan 10 gacha sonlarni chiqaruvchi while sikli yozing. Keyin uni teskari
qiling: 10 dan 1 gacha. Uchinchi variant: faqat juft sonlar (kalit: i = i + 2).
Har uchi ishlaganini terminalda ko’rsatib, o’qituvchiga topshiring.
Mustahkam · 8–9-sinf — Matnli masala, o'zingiz tuzasiz
Parol so’raydigan programma yozing: to’g’ri parol steam, lekin uchta urinishdan
keyin «Bloklandi» chiqib to’xtasin. Ya’ni ikki chiqish yo’li bo’ladi — to’g’ri
parol va urinishlar tugashi. Urinishlar sonini o’zgaruvchida hisoblang.
Chuqur · 10–11-sinf — Algoritmik, chegara holatlari bilan
Sonni so’rab, uning raqamlari yig’indisini hisoblovchi programma yozing
(masalan 4589 → 26). Faqat while, % va // ishlatiladi — satrga
aylantirish taqiqlanadi. Chegara holatlarini sinang: 0, bitta raqamli son,
manfiy son. Qo’shimcha savol: sikl necha marta aylanadi va bu sonning
kattaligiga qanday bog’liq?
Darsni belgilash uchun JavaScript kerak. Bu progressni saqlash uchun ishlatiladi — darslikning o'zi JavaScript'siz ham to'liq o'qiladi.