Natija:
x= 1
e= 0.001
Qator yigindisi S = 2.7180555555555554
Masala. Berilgan natural sonni teskari tartibda yozish dasturi tuzilsin.
# Natural sonni teskari tartibda yozish
a = int(input('natural sonni kiriting a = '))
s = 0
while a > 0:
k = a % 10
s = 10 * s + k
a = a // 10
print ("Hosil bo'lgan son = ", s )
Natija:
Natural sonni kiriting a = 456741254689
Hosil bo'lgan son = 986452147654
Masala. funksiyani x[0;] oraliqda x/6 qadam bilan hisoblash dasturi tuzilsin. Bunda a ixtiyoriy butun son.
import math
a = int(input('aq'))
x = 0
while x <= math.pi:
y = (2*x*x + a) / (a + math.cos(3*x))
print ('x=', x, 'y=', y)
x = x + math.pi/6
Natija:
a=2
x= 0 y= 0.6666666666666666
x= 0.5235987755982988 y= 1.2741556778080376
x= 1.0471975511965976 y= 4.193245422464301
x= 1.5707963267948966 y= 3.46740110027234
x= 2.0943951023931953 y= 3.5909938966190684
x= 2.617993877991494 y= 7.853891945200936
x= 3.1415926535897927 y= 21.73920880217871
3. Break va Continue operatorlari
Ayrim hollarda sikl shartining bajarilishini kutmagan holda sikldan chiqish zarurati tug’iladi. Bunday holda Break operatoridan foydalaniladi. Continue operatori esa siklning joriy qadamini to’xtatib yangi qadamning bajarilishini ta’minlaydi.
Masala. 27 ga bo’linib 54 ga bo’linmaydigan birinchi uch xonali sonni aniqlang.
Masala shartiga ko’ra 100 dan boshlab 999 gacha bo’lgan barcha sonlarni 27 ga bo’linishi va 54 ga bo’linmasligini tekshirib chiqamiz. Berilgan shart qanoatlantirilgan vaqtda takrorlanish, iteratsiyani to’xtatib, natijani oynaga chiqaramiz.
i = 100
while i < 999 :
if (i % 27 == 0) and (i % 54 != 0):
print ( "Natija - ", i )
break
i += 1
Natija - 135
Masaladagi iteratsiyalar, ya’ni takrorlanishlar sonini kamaytirish uchun i ning birinchi qiymati sifatida 27 ga bo’linadigan uch xonali sonlarning birinchisini olamiz. Bunda i = 108 bo’lib, sikl parametrining o’zgarish qiymatini 27 ga teng qilib olamiz. Bu hoda iteratsiyalar soni bir necha marta kamayib, dastur ishlashi tezlashadi. Ya’ni yuqoridagi dastur 1 satrini i = 100 ga, 6 satrini i += 27 almashtiramiz. Bu holda ham natija bir xil bo’ladi.
Dastur kodini kiritishda while operatoridagi sikl tanasi 2-6 satrlar bo’lsa, if operatorining tanasi 4-5 satrlar ekanligini yana bir bor eslatib o’tishimiz kerak. Chunki dastur kodini kiritishda sikl tanasi bitta ustunda yozilishi talab qilinadi. Boshqa dasturlash tillarida sikl tanasi {} figurali qavslar, begin … end xizmatchi so’zlarining orasida yozilar edi.
Masala shartiga biroz o’zgartirishlar kiritib, dastur kodini tuzamaiz.
Masala. 27 ga bo’linib 54 ga bo’linmaydigan barcha uch xonali sonni oynaga chiqaring.
Masala shartiga ko’ra 27 ga bo’linadigan uch xonali sonlarning birinchisi 108 ga teng. Shu sondan boshlab, 27 qadam bilan 999 gacha bo’lgan barcha sonlarni 27 ga bo’linishi va 54 ga bo’linmasligini tekshirish uchun, shu sonlar ichidan bir vaqtda ham 27 ga va 54 ga bo’linadiganlarini hisobdan chiqaramiz. Qolganlarini oynaga chiqaramiz. Buning uchun sikl ichida tekshirilayotgan son bir vaqtda 27 va 54 bo’linadigan bo’lsa sikl qadami to’xtatilib, boshqarish keyingi qadamga uzatiladi. Agar shart bajarilmasa natija oynaga chiqarilib keyingi qadamga o’tiladi.
i = 108
while i < 999 :
i += 27
if ((i % 27 == 0) and (i % 54 == 0)):
continue
print ( "Natija - ", i )
Dasturni ishga tushiramiz va quyidagi natijaga ega bo’lamiz.
Natija - 135
Natija - 189
Natija - 243
Natija - 297
Natija - 351
Natija - 405
Natija - 459
Natija - 513
Natija - 567
Natija - 621
Natija - 675
Natija - 729
Natija - 783
Natija - 837
Natija - 891
Natija - 945
Natija - 999
Do'stlaringiz bilan baham: |