Mavzu: Sikl qadamlarini tashlab o‘tish va sikllarni muddatidan oldin tugatish


Download 0.71 Mb.
Sana16.06.2023
Hajmi0.71 Mb.
#1488743
Bog'liq
MAVZU

MAVZU:Sikl qadamlarini tashlab o‘tish va sikllarni muddatidan oldin tugatish.

REJA:

  • Break operatori va uning umumiy ko‘rinishi;
  • Continue operatori va uning umumiy ko‘rinishi;

Tayanch sozlar

Python dasturlash tilida takrorlanuvchi jarayonlar qadamlarini tashlab o‘tish va takrorlanuvchi jarayonlarni muddatidan oldin tugatish imkoniyati ham mavjud. Python dasturlash tilida bunday imkoniyatlarni break va continue operatorlari amalga oshiradi. Break va continue operatorlarini ishlash prinsiplari Python va C++ tillarida bir xildir.

Break operatori va uning umumiy ko‘rinishi

  • Dasturlash tillarida algoritm bajarilayotgan vaqtda ma’lum bir sabablarga ko‘ra tusatdan algoritm tarkibidagi takrorlanish o‘z ish foaliyatini to‘xtatish kerak bo‘lib qoladi. Bunday holatlarda break operatoridan foydalaniladi.
  • Break operatori ko‘p holatlarda takrorlanish jarayonlarida ishlatiladi. Break operatori vazifasi o‘zi turgan takrorlanish ish foaliyatini to‘xtatishdan iborat, agar break operatori dastur bosh tanasida joylashgan bo‘lsa dastur xatolik beradi break faqat takrorlanish tanasida bo‘ladi.
  • Python dasturlash tilida asosan takrorlanish jarayonida takrorlanishlar soni uning tarkibidagi ifodaga bog‘liq bo‘lib qoladi shunday vaziyatlarda takrorlanishni to‘xtatish uchun break operatoridan foydalanish maqsadga muvofiq.

Misol: 1 dan n gacha sonlar tarkibidan, birinchi x ga karrali songacha bo‘lgan sonlarni ikkiga ko‘paytirib ekranga chiqaring

Dastur tuzishda birinchi x ga karrali son chiqganda dastur to’satdan to‘xtash kerak bo‘ladi, bu jarayonni break amalga oshiradi

n=input('n=') n=int(n) x=input('x=') x=int(x) for i in range(1,n+1): if i%x!=0: print(i*2) else: break;

n=10 x=5 2 4 6 8

Yuqoridagi dastur bajarilishi davrida break operatorigacha bo‘lgan operatorlar bajariladi qolganlari esa bajarilmasdan dastur takrorlanishdan chiqib ketadi. Chunki break operatori takrorlanish ichida joylashgan, shuning uchun dastur natijasi 1*2=2 dan boshlab 4*2=8 gacha bajariladi

Misol: n dan m gacha sonlar tarkibidan, birinchi x ga karrali songacha bo‘lgan sonlar yig‘indisi va ko‘paytmasini ekranga chiqaring.

n=int(input('n='))

m=int(input('m='))

x=int(input('x='))

s=0

p=1

for i in range(n,m+1):

if i%x!=0:

s+=i

p*=i

else:

break;

print('s=',s)

print('p=',p)

n=5 m=10 x=4 s= 18 p= 210

Yuqoridagi dastur bajarilish davrida takrorlanish operatori faqat i=8 gacha bajariladi, lekin 8 hisobga olinmaydi chunki 8 to‘rtga karrali bu vaqtda break ishlaydi, chunki break operatori bajarilgandan so‘ng takrorlanishdan chiqib ketadi.

Continue operatori

  • Dasturlash tillarida ba’zi bir holatlarda dastur tarkibidagi buyruqlar faqatgina ma’lum bir qadamlarda tashlab keyingisi bajarilish kerak bo‘lgan holatlar ham mavjud. Bunday holatlarda break operatoridan foydalana olmaymiz, chunki break o‘zi turgan takrorlanishdan chiqib ketadi. Dastur tanasida bitta buyruq bajarilmasdan keyingisiga o‘tish uchun continue operatoridan foydalaniladi.
  • Continue operatori ham break operatoriga o‘xshaydi, lekin bunda faqat bitta bo‘yruqni cheklab o‘tadi. Asosan takrorlanish jarayonlarida ma’lum bir holatlarda takrorlanishning ba’zi bir holatlari hisoblanmaslik kerak bo‘lganda continue operatoridan foydalanish maqsadga muvofiq bo‘ladi. Takrorlanish jarayonida takrorlanishning biror bir qadamini tashlab ikkinchisiga o‘tish uchun continue bo‘yrug‘idan foydalaniladi.

Misol: 1 dan n gacha sonlar ichida 3 ga karrali bo‘lmaganlarini ikkiga ko‘paytirib ekranga chiqaring.

n=input('n=')

n=int(n)

for i in range(1,n+1):

if i%3!=0:

print(2*i)

else:

continue

n=10

n=10

2

4

8

10

14

16

20

Yuqoridagi dasturda for operatori 3 ga karrali bo‘lgan sonlarni hisobga olmasdan keyingisiga o‘tib ketadi. Bu esa continue operatori imkoniyatini amalga oshiradi.

Nazariy savollar

  • Takrorlanishni muddatidan oldin tugatish deganda nimani tushunasiz?
  • break operatori va uning ishlash jarayoni?
  • Takrorlanish qadamlarini tashlab o‘tish deganda nimani tushunasiz?
  • continue operatori va uning ishlash jarayoni?

Mustaqil bajarish uchun misollar

  • [a,b] oraliqdagi toq sonlar ichidan 5 ga karrali bo‘lmaganlarini yig‘indisi va ko‘paytmasini toping.
  • [a,b] oraliqdagi juft sonlar ichidan x ga karrali bo‘lmaganlarini bo‘luvchilar yig‘indisi va ko‘paytmasini toping.
  • [a,b] oraliqdagi sonlar ichidan x ga karrali bo‘lganlarini bo‘luvchilar yig‘indisi va ko‘paytmasini toping.

Download 0.71 Mb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling