53-dars. TAKRORLANUVCHI ALGORITMLARNI DASTURLASH. WHILE OPERATORI
for sikl operatorini avvaldan takrorlanishlari soni aniq bo‘lgan masalalarni yechish uchun qo‘llash samara beradi. Lekin har doim ham takrorlanishlar sonini avvaldan bilib bo‘lmaydi. Faqatgina shart tekshirish orqali sikl davom etishi yoki to‘xtashi kerakligi haqida xulosa qilish uchun while sikl operatoridan foydalangan ma’qul.
1. Takrorlanishlar soni аniq bo‘lmasa, qaysi sikldan foydalangan ma’qul? 2. while sikli qanday ishlaydi?
while sikl operatori
while sikl operatori shart ifodasi bajarilgan holatlar (True bo‘lsa) uchun davom etadi, agar shart bajarilmasa (False bo‘lsa), sikl o‘z ishini to‘xtatadi.
Sintaksisi:
while shart ifodasi: sikl tanasi
Tayanch tushunchalar
while sikli – berilgan shart rost bo‘lgan holda sikl tanasi bajariladigan sikl turi. Agar sikl boshida shart bajarilmasa, u holda sikl ishga tushmaydi.
86
IV BOB. DASTURLASH ASOSLARI
shart ifodasi – sikl sharti;
sikl tanasi – bajarilishi kerak bo‘lgan buyruqlar.
BUNI BILASIZMI?
Misol.
res=’ha’
while answer == ‘ha’:
print(‘Foydalanishingiz mumkin’)
res=input(‘Ushbu dasturdan foydalanasizmi? (ha/yo‘q)’) print(‘Marhamat.’)
Foydalanishingiz mumkin
Ushbu dasturdan foydalanasizmi? (ha/yo‘q) ha Foydalanishingiz mumkin
Ushbu dasturdan foydalanasizmi? (ha/yo‘q) ha Foydalanishingiz mumkin
Ushbu dasturdan foydalanasizmi? (ha/yo‘q) yo‘q Marhamat.
Eslab qoling!
IDLE interfaol muhitida cheksiz siklni to‘xtatish uchun, Ctrl tugmachasini bosib turgan
holda C tugmachasi bosiladi
yoki Ctrl+C birgalikda bir necha marta bosiladi. IDLE esa dasturni to‘xtatish uchun so‘rov yuboradi.
Misol. 1 dan n gacha bo‘lgan sonlarning ko‘paytmasini toping. P=1*2*…*n=n!
No
Blok-sxema
Blok-sxema nomi
Dastur kodi
1
Boshlash n
yo‘q ha
p
Tamom
i=1 p=1
i<=n
P=P*i i+=1
Algoritmning boshlanishi
2
Kiritish bloki
n=int(input ()) i=1
p=1
3
Shart tekshirish bloki
while i<=n:
4
Bajarish bloki
P=P*i i+=1
5
Chiqarish bloki
print(‘1*…*’,n,’=’,p)
6
Algoritmni tugatish
n ga 5 qiymat beramiz, i ning boshlang‘ich qiymati 1 ga teng. Ko‘paytma hisoblanayotganligi uchun p ning boshlang‘ich qiymatini 1 deb olamiz. 1*1*2*3*4*5=120 natijani chiqaradi.
n=5 1*…*5= 120
Cheksiz sikl
Misol.
while True:
res=input(‘So\’z kiriting:’) print(‘davom eting’)
So‘z kiriting: kitob davom eting
So‘z kiriting:
while siklidagi shart ifodasi doimo bajarilsa (True qiymat qaytarsa), sikl hech qachon to‘xtamaydi, ya’ni cheksiz davom etishi mumkin.
Cheksiz sikl yaratish juda ham oson bo‘lib, shartning o‘rniga True kalit so‘zi kiritilsa kifoya.
53-dars. TARMOQLANUVCHI ALGORITMLARNI DASTURLASH. WHILE OPERATORI
87
2. Shart bo‘yicha sikl operatorining hisoblagich ko‘rinishidagi sikl operatoridan farqi ? nimada?
3. Shart bo‘yicha sikl operatorining yana qanday turini bilasiz?
1. 0 dan 20 gacha bo‘lgan juft sonlarni ekranga chiqaruvchi dastur tuzing.
2. n va k butun manfiy bo‘lmagan sonlar berilgan. n va k qatnashgan ushbu ifodani
hisoblang.
3. a va b natural sonlar berilgan. a dan b gacha bо‘lgan sonlar orasidan faqat juftlarini
chiqaruvchi dastur tuzing. Bu yerda a <= b.
4. n natural soni berilgan. Kvadrati n dan kichik bo‘lgan barcha natural sonlarni
chiqaruvchi dastur tuzing.
54-dars. AMALIY MASHG‘ULOT
Misol. S=1*2+3*4+5*6+…+99*100 ifodani hisoblash dasturini tuzing. S=1*2+3*4+5*6+…+99*100 => ∑99 i*(i+1), i=i+2
88
IV BOB. DASTURLASH ASOSLARI
1. Qaysi operator Python dasturlash tilida shartli sikl ko‘rinishida ishlaydi?
i=1
UY VAZIFASI
SAVOL VA TOPSHIRIQLAR
No
Blok-sxema
Blok-sxema nomi
Dastur kodi
1
Boshlash n
i=1 s=0
yo‘q ha
s
Tamom
i<=99
s=s+i*(i+1) i+=2
Algoritmning boshlanishi
2
Kiritish bloki
i=1 s=0
3
Shart tekshirish bloki
while i<=99:
4
Bajarish bloki
s=s+i*(i+1) i+=2
5
Chiqarish bloki
print(s)
6
Algoritmning tugashi
i ning boshlang‘ich qiymati 1 ga teng.Yig‘indi hisoblanayotganligi uchun s ning boshlang‘ich qiymatini 0 deb olamiz. 0+1*2+3*4+…+99*100
169150
1. S = 0,5 + 1,5 + 2,5 +…+ 98,5 + 99,5 ifodani hisoblash dasturini tuzing.
2. n natural sonining barcha bo‘luvchilarini chiqaruvchi dastur tuzing.
3. Kiritilgan n soni qancha raqamdan iborat ekanligini aniqlovchi dastur tuzing (ko‘rsatma:
n = n%10 ifoda n = 0 bo‘lguncha bajariladi).
4. Kiritilgan n soni raqamlari yig‘indisini hisoblovchi dastur tuzing.
5. Kiritilgan n soni juft raqamlari sonini hisoblovchi dastur tuzing.
6. n natural soni berilgan. 1 dan n gacha bo‘lgan natural sonlar ichida oxirgi raqami 3 gа
karrali sonlarni chiqaruvchi dastur tuzing.