49–50-darslar. TAKRORLANUVCHI ALGORITMLARNI DASTURLASH. FOR OPERATORI

49–50-darslar. TAKRORLANUVCHI ALGORITMLARNI DASTURLASH. FOR OPERATORI
Berilgan masalani yechishda aynan bir xil amalni bir necha marta takrorlashga to‘g‘ri keladi. Bunday masalalarni yechishda takrorlanuvchi algoritmlardan foydalaniladi.
1. Bir necha marta takrorlanadigan kod qanday yoziladi? 2. Takrorlanuvchi algoritmlar qanday ishlaydi?
3. Sikllar nima uchun kerak?
Takrorlanuvchi algoritmlar – biror buyruqlar guruhining ma’lum marta yoki belgilangan shart bajarilgunga qadar takroran bajarilishi. Takrorlanuvchi algoritmlarga doir masalalarni dasturlashda sikl operatorlaridan foydalaniladi.
Tayanch tushunchalar
for sikli – hisoblagichli (count- controlled) sikl. U faqat takrorlanishlar soni oldindan maʼlum bo‘lganda foydalaniladi.
Masalan, n ta sonning musbatligini
tekshirish uchun n marotaba bir xil amalni bajarish kerak bo‘ladi. Bunday hollarda bitta amalni n marta yozishdan ko‘ra, bitta kod blokida n ta sonni tekshirish uchun sikl operatorlaridan foydalangan afzal. Sikl operatorlari kodning takrorlanadigan buyruqlari uchun xizmat qiladi. Bu buyruqlarning ketma-ketligiga siklning tanasi deyiladi. Har bir takrorlanish esa iteratsiya deb ataladi.
Sikl operatorlari turlari
Qo‘yilgan masalani yechishda sikllarning har ikkala turidan foydalanish mumkin, lekin berilgan shart uchun eng mos keladigan turni to‘g‘ri tanlay olish dasturning samaraliroq ishlashini ta’minlaydi.
for sikl operatori
Sintaksisi:
for i in range(start, stop, step): sikl tanasi
82
IV BOB. DASTURLASH ASOSLARI
BUNI BILASIZMI?
Sikl operatorlari nomi
Tavsifi
Vazifasi
for
Kodni muayyan marta takrorlaydi.
Takrorlanishlar soni avvaldan maʼlum bo‘lganda qo‘llaniladi.
while
Asosiy shart bajarilganda kodni takrorlaydi.
Takrorlanishlar soni nomaʼlum bo‘lganda, kod hatto bir marta
ham ishga tushmasligi mumkin. Kodni ishga tushirishdan avval shart tekshiriladi. Agar shart noto‘g‘ri bo‘lsa, unda sikldagi kod ishga tushmaydi.

i – takrorlanishlar (iteratsiyalar) soni;
start – i ning boshlang‘ich qiymati (ko‘rsatilmasa, 0 deb qabul qiladi); stop – i ning oxirgi qiymati (ko‘rsatilishi shart);
step – qadam (ko‘rsatilmasa, 1 deb qabul qiladi);
Misol. 0 dan 11 gacha bo‘lgan juft sonlarni chiqarish dasturini tuzing.
0 dan 11 gacha bo‘lgan sonlarni
2 qadam bilan chiqaradi.
Misol. 10 gacha bo‘lgan sonlarni chiqarish dasturini tuzing.
0 dan 10 gacha bo‘lgan sonlarni
1 qadam bilan chiqaradi.
Misol. 10 dan 1 gacha bo‘lgan sonlarni –1 qadam bilan chiqarish dasturini tuzing. 10 dan 0 gacha bo‘lgan sonlarni
–1 qadam bilan chiqaradi.
Ichma-ich joylashgan sikllar
Sikl ichida yana siklning ishlatilishiga ichma-ich joylashgan sikl deyiladi.
Sintaksisi:
for i in range(start1, stop1, step1): for j in range(start2, stop2, step2):
sikl tanasi
i – 1-sikl takrorlanishlari soni;
j – 2-sikl takrorlanishlari soni;
start1– i ning boshlang‘ich qiymati (ko‘rsatilmasa, 0 deb qabul qiladi);
stop1 – i ning oxirgi qiymati (ko‘rsatilishi shart);
step1 – i ning qadami (ko‘rsatilmasa, 1 deb qabul qiladi);
start2– j ning boshlang‘ich qiymati (ko‘rsatilmasa, 0 deb qabul qiladi);
stop2 – j ning oxirgi qiymati (ko‘rsatilishi shart);
step2 – j ning qadami (ko‘rsatilmasa, 1 deb qabul qiladi).
Tashqi siklning har bir iteratsiyasi uchun j ta iteratsiya bajariladi. Tashqi siklning i ta
iteratsiyasi uchun ichki siklning i*j ta iteratsiyasi bajariladi.
for i in range(0,11,2): print(i, end=’;’)
0;2;4;6;8;10
for i in range(102): print(i, end=’;’)
0;1;2;3;4;5;6;7;8;9
for i in range(10,0,-1): print(i, end=’;’)
10;9;8;7;6;5;4;3;2;1
49-50-dars. TARMOQLANUVCHI ALGORITMLARNI DASTURLASH. FOR OPERATORI
83

Misol.
i va j uchun 3 qadamlar soni kiritiladi.
0 ga ko‘paytirishni chiqarmasligi uchun 1 dan boshlanadi, u holda qadamlar soni n+1 deb olinadi. Natija ekranga chiqariladi.
Tashqi siklning 1-takrorlanishida 3 marta ichki sikl bajarilib, natijani chiqardi.
Tashqi siklning 2-takrorlanishi. Tashqi siklning 3-takrorlanishi.
?
to‘g‘ri ishlaydimi?
1. a va b sonlar berilgan. a dan b gacha bо‘lgan barcha sonlarni chiqaruvchi dastur tuzing. Bu yerda a <= b.
2. a va b sonlar berilgan. Agar a < b bо‘lsa, a dan b gacha bо‘lgan sonlarni о‘sish
tartibida, aks holda kamayish tartibida chiqaring.
3. 1 dan 10 gacha bо‘lgan natural sonlar kvadratlarini chiqaruvchi dastur tuzing. 4. 1 dan 10 gacha bо‘lgan natural sonlar yig‘indisini chiqaruvchi dastur tuzing.
84
IV BOB. DASTURLASH ASOSLARI
1. Qaysi operator Python dasturlash tilida hisoblagich ko‘rinishida ishlaydi?
2. Hisoblagich ko‘rinishida ishlovchi sikl operatorining sintaksisi qanday bo‘ladi?
3. Start, stop, step vazifalarini tushuntiring.
4. Qachon hisoblagich ko‘rinishidagi sikl operatorlaridan foydalanib bo‘lmaydi?
5. Ichma-ich joylashgan sikllarda ikkala for operatori bir chiziqda joylashsa, dastur
n=3
for i in range(1,n+1):
for j in range(1,n+1): print(i,’x’, j,’=’, i*j)
1×1=1 1×2=2 1×3=3 2×1=2 2×2=4 2×3=6 3×1=3 3×2=6 3×3=9
UY VAZIFASI
SAVOL VA TOPSHIRIQLAR

51-dars. AMALIY MASHG‘ULOT
Misol. x ga karrali n ta sonni chiqarish dasturini tuzing.
1. Quyidagi dasturiy koddagi iteratsiyalar (takrorlashlar) sonini aniqlang.
2. 1 dan n gacha bо‘lgan natural sonlar kvadratlari yig‘indisini aniqlovchi dastur yozing.
3. n>=2 shartni qanoatlantiruvchi n soni berilgan. Ushbu ifodani hisoblovchi dastur tuzing. d=1*2+2*3+…+(n–1)*n
4. Bir nechta son berilgan. Ular orasida qancha 2 soni bor ekanligini aniqlovchi dastur tuzing.
5. S=11+13+15+…+49 yig‘indini hisoblash dasturini tuzing.
6. n ta uchburchakni ekranga chiqaruvchi dastur tuzing. n –1 dan 9 *
gacha bо‘lgan natural sonlarni qabul qiladi.
51-dars. AMALIY MASHG‘ULOT
85
** *** ****
No
Blok-sxema
Blok-sxema nomi
Dastur kodi
1
Boshlash x, n
n
s
Tamom
i=0
s=i*x
Algoritmning boshlanishi
2
Kiritish bloki
x = int(input ()) n = int(input ()) i=0
3
Sikl soni
for i in range(n):
4
Sikl tanasi Bajarish bloki
s=i*x
5
Chiqarish bloki
print(s)
6
Algoritmni tugatish
8 ga karrali 6 ta sonni chiqarish uchun n ga 6, x ga 8 qiymat berganimizda, 0 8 16 24 32 40 natijani chiqardi.
x=8
n=6
0 8 16 24 32 40
AMALIY
TOPSHIRIQLAR
1. for i in range(487): cms=’Salom’
2. for i in range(2,89): cms=12
3. for i in range(-17,15,4): cms=’dastur’
4. for i in range(-58,0): cms=4789
5. for i in range(73,161,2): cms=2020
6. for i in range(100,1982): cms=’UZB’
7. for i in range(1874,21): cms=’4782′
8. for i in range(-21,21,5): cms=’4782′

52-dars. NAZORAT ISHI
1. Butun son kiritilgan vaqtda sondan avval va keyin keluvchi sonni chiqaruvchi dastur tuzing. Dastur natijasi quyidagicha bo‘lishi lozim.
Kiruvchi ma’lumot Chiquvchi ma’lumot
254
254 dan avvalgi son bu – 253 254 dan keyingi son bu – 255
2. Natural son berilgan. Shu son oxirgi raqamini topish dasturini tuzing.
3. Sutkaning n sekundi berilgan. Sutka boshlanganidan beri qancha soat (h), minut (min) va sekund (s) o‘tganini aniqlash dasturini tuzing.
masalan, n = 13257 = 3*3600 + 40*60 + 57; h = 3 va min = 40.
4. Mahsulotning narxi s so‘m. Ushbu mahsulotdan n ta sotib olish uchun qancha so‘m sarflash kerak?
5. Musbat butun son berilgan. Ushbu sonning o‘nliklar xonasidagi raqamini aniqlash dasturini tuzing.
6. Ismingizni kiritganda quyidagi xabarni chiqaruvchi dasturni tuzing. Dastur tuzishda print() operatorining end() usulidan foydalaning.
Kiruvchi ma’lumot Chiquvchi ma’lumot Lola Xush kelibsiz, Lola!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *