☰ Mundarija · Informatika

Siklni boshqarish va qiymat almashtirish

Darslar 46 · 1 ta dars · M. R. Fayziyeva, D. M. Sayfurov, N. S. Xaytullayeva. Informatika va axborot texnologiyalari, 9-sinf. «Nashriyot uyi Tasvir», Toshkent, 2020
46

Sikllarni boshqarish: continue, break operatorlari

Darslik: 89–91-betlar
Maqsadbreak va continue operatorlarining vazifasini ajratadi, while True: siklini break bilan to‘g‘ri tugatadi va ikki o‘zgaruvchining qiymatini a, b = b, a ko‘rinishida almashtiradi.
Yangi so‘zlar
break · break: leaves the loop at oncecontinue · continue: skips the rest of the current pass and goes to the next iterationwhile True · while True: a loop that stops only by breaka, b = b, a · a, b = b, a: swaps the values of two variables in one line
Tushuntirish

Sikl ishini sikl shartidan tashqari ham boshqarish mumkin. break operatori siklni darrov tugatadi va dastur sikldan keyingi satrdan davom etadi; uni odatda if ichida yozadilar. continue esa joriy iteratsiyaning qolgan qismini tashlab, siklning keyingi aylanishiga o‘tadi, sikl to‘xtamaydi. Masalan, foydalanuvchi «stop» so‘zini yozguncha so‘zlarni qabul qilish uchun while True: yoziladi va «stop» kelganda break qilinadi: bunda takrorlanishlar sonini oldindan bilish shart emas. Alohida mavzu – qiymat almashtirish. Boshqa tillarda uchinchi o‘zgaruvchi kerak bo‘ladi, Pythonda esa a, b = b, a deb yozish yetarli: avval o‘ng tomon hisoblanadi, so‘ng chap tomondagi nomlarga qiymatlar beriladi. Shuning uchun a, b = b, a + b da ikkala ifoda eski qiymatlar bilan hisoblanadi.

Namunalar
break bilan to‘xtatish: while True: ⏎     w = input() ⏎     if w == "stop": ⏎         break ⏎     print(len(w)) olma, kitob va stop kiritilsa, 4 va 5 chiqadi; stop kelganda sikl tugaydi va uning uzunligi chiqarilmaydi.
continue bilan o‘tkazib yuborish: for i in range(1, 11): ⏎     if i % 3 == 0: ⏎         continue ⏎     print(i, end=" ") 3 ga karrali sonlar chiqarilmaydi: 1 2 4 5 7 8 10. Almashtirish: a, b = 1, 2 ⏎ a, b = b, a ⏎ print(a, b) 1 va 2 o‘rin almashadi: 2 1.
Sinfda faoliyat

«Almashinuv»: ikki o‘quvchi qo‘lidagi kartochkalar (qiymatlar) bilan a, b = b, a ni jonli ko‘rsatadi; so‘ng a, b = b, a + b ni uch marta ketma-ket bajarib, natijani kuzatadi.

Mashq
1
Quyidagi dastur nima chiqaradi? for i in range(1, 8): ⏎     if i == 5: ⏎         break ⏎     print(i, end=" ")
2
1 dan 20 gacha 5 ga karrali bo‘lmagan sonlar yig‘indisini continue bilan hisoblovchi dastur yozing.
3
a, b = 3, 9 dan keyin a, b = b, a + b bajarilsa, a va b nechaga teng?
4
Nima uchun while True: siklida break bo‘lishi shart?