Converted Document


Download 408.46 Kb.
Sana16.06.2023
Hajmi408.46 Kb.
#1503932
Bog'liq
doc1683868906353









Uslubiy qo‘llanma


1






Chust - 2020








2


Mazkur uslubiy qo‘llanma Chust tuman metodika kabineti qoshidagi

metodika kengashining 2020- yil ―__‖ ________dagi № ____ - sonli qarori


bilan foydalanishga tavsiya etilgan.


Ushbu uslubiy qo„llanmada 9-sinf “Informatika va axborot


texnologiyalari” darsligi (Toshkent-2020) ning II bob (Dasturlash asoslari)da


berilgan masalalarning yechimlari (Python dasturlash tilida) keltirilgan.


Darsda foydalanishga qulay bo„lishi uchun qo„llanmadagi mavzular va


masalalar tartib raqamlari 9-sinf darsligidagi tartib raqamlariga mos holda


berildi.


Qo„llanma oxirida sinfdan tashqari mashg„ulotlarda foydalanish uchun


qo„shimcha masalalar yechimlari bilan birga berildi.


Qo„llanmadan barcha turdagi umumiy o„rta ta‟lim maktablarining


informatika o„qituvchilari dars va to„garak mashg„ulotlarida ijodiy


foydalanishlari mumkin.


Muallif:


M. Tashov – Chust tumanidagi 52-umumiy o‗rta ta‘lim maktabi


matematika-informatika o‗qituvchisi.


Muharrir:


E. Nurmatov – Chust TXTB aniq fanlar metodisti.


Taqrizchilar:


T. Jo‘raev – Nam MQI ―Informatika va axborot texnologiyalari‖ kafedrasi


dotsenti, texnika fanlari nomzodi.


X. Abdukarimov – Chust tumanidagi 12-maktab oliy toifali matematika-


informatika o‗qituvchisi.


J. G‘oziyev – Chust tumanidagi 52-IDUM oliy toifali matematika o‗qituvchisi.


3



―=‖ belgisidan so‗ng son yoziladi. Satrli qiymat berilganda esa ―=‖ belgisidan


so‗ng bittalik (' '), ikkitalik (― ‖) qo‗shtirnoq ichida satr yoziladi.


O‘zgaruvchi qiymatini o‘zgartirish.


28-dars. PYTHONDA O‘ZGARUVCHILARNI TAVSIFLASH


Har bir tilning alifbosi bo‗lgani kabi dasturlash tilining ham o‗z alifbosi mavjud.


Python dasturlash tilining alifbosi katta va kichik lotin harflari, arab raqamlari,


maxsus belgilar va xizmatchi so‗zlardan tarkib topgan.


O‗zgaruvchi qiymatini o‗zgartirish uchun unga yangi qiymat berish kifoya.


• Katta va kichik lotina va kichik lotin harflari: A,B,C, …, X,Y,Z,a,b,c,…,x,y,z.


• Arab raqamlari:0, 1, 2, 3, 4, 5, 6, 7, 8, 9


• Maxsus belgilar: 1. Arifmetik amallar +, –, *, /, ; 2. qavslar, tinish belgilari


va boshqalar.


• Xizmatchi so‗zlar: if, for, print, input, class va boshqalar.


Tayanch tushunchalar


O‗zgaruvchilar – o„z qiymati va turiga ega kattalik, o„zida qiymatlarni


saqlaydigan kompyuter xotirasidagi yacheyka nomi. O„zgaruvchining qiymatlari


dastur davomida o„zgarib turishi mumkin.


Doimiy (o„zgarmas) – faqat o„qish uchun mo„ljallangan qiymatlarni saqlovchi


kompyuter xotirasidagi yacheyka nomi. Doimiylar o„zgaruvchilar kabi o„z


qiymati va turiga ega.


Identifikatorlar – o„zgaruvchilar, doimiylar, funksiyalar, protseduralar, modullar,


dasturlarning umumiy nomi.


Eslab qoling!


O‗zgaruvchilarni e‘lon qilish qoidalari:


o„zgaruvchi nomida ixtiyoriy harf yoki raqamdan foydalanish mumkin;


katta va kichik harflar bir-biridan farqlanadi. belgi5, Belgi5, BELGI5 nomli


o„zgaruvchilar har xil o„zgaruvchi nomlaridir, shu sababli kichik harflardan


foydalangan ma‟qul;


o„zgaruvchi nomlarida probellar ishlatish mumkin emas, uning o„rniga so„zlar


(„_‟) tagchiziq belgisi yordamida bir-biriga bog„lanadi;


o„zgaruvchining nomi raqamdan boshlanishi mumkin emas;


–, /, # yoki @ belgilarni ishlatish mumkin emas;


maxsus buyruq nomlarini ishlatish mumkin emas;


and, as, assert, break, class, continue, def, del, elif, else, except, finally, for, from,


global, if, import, in, is, lambda, nonlocal, not, or, pass, print, raise, return, try,


while, with, yield kabi xizmatchi so‗zlarni o„zgaruvchi nomi sifatida ishlatish


4


mumkin emas.

O‘zgaruvchini e’lon qilish.


O‗zgaruvchi ―=‖ belgisi yordamida satr yoki sonni o‗zlashtirishi mumkin va bu





o„zgaruvchining qiymati deb ataladi. O‗zgaruvchiga sonli qiymat berish uchun


print(t2," soatdan so'ng ular orasidagi masofa 12 km


bo'ladi.")


O‘zgaruvchilarni o‘zaro ishlatish.


Ikkita o‗zgaruvchida birining qiymatini ikkinchisiga o‗zlashtirish uchun «=»


belgisidan foydalaniladi.


28.1. Darvozaning eni 4 metr, bo‗yi esa 3 metr:


1) darvoza yuzasi (S)ni hisoblash dasturini tuzing;


2) darvoza qirrasining uzunligi (P)ni hisoblash dasturini tuzing.


Yechilishi: Darvoza enini a harfi bilan, bo‗ini b harfi bilan nomlaymiz.


Blok sxema Dastur:


a=4

b=3



S=a*b

P=2*(a+b)

print('Yuzi S=',S,' kvadrat metr')





print('Perimetri P=',P,' metr')


28.2. Ikkita qayiq turg‗un suvda bir-biriga tomon 4 km/soat va 2 km/soat tezlik


bilan suzmoqda. Ular orasidagi masofa 24 km bo‗lsa:


1) ular qancha vaqtdan keyin uchrashadi?


2) qancha vaqtdan keyin ular orasidagi masofa 12 km ni tashkil etadi?


Yechilishi:


v1-birinchi qayiqning tezligi


v2-ikkinchi qayiqning tezligi


t1- ushrashguncha o'tgan vaqt;


t2-oralarida masofa 12 km qolgucha o'tgan vaqt.


Blok sxema Dastur:


v1=4

v2=2

S=24

5

t1=S/(v1+v2)


t2=(S-12)/(v1+v2)





print(t1," soatdan so'ng uchrashadi.")


input() operatori yordamida kiritilgan ma‘lumotlar satrli ko‗rinishda bo‗ladi.


Butun son turidagi ma‘lumotlarni kiritish uchun int(input()) ko‗rinishida ishlatish


lozim yoki kiritilgan ma‘lumot turini int() funksiyasi yordamida o‗zgartirish


kerak.

28.3. Doiraning radiusi 4 metrga teng (PI=3.14):

1) doira yuzini hisoblang;


2) aylana uzunligini hisoblang.


Yechilishi: R-doira radiusi.


Blok sxema Dastur:


R=4

PI=3.14

S=PI*R*R


C=2*PI*R


print('Yuzi S=',S)





print('Uzunligi C=',C)


30-dars. PYTHONDA MA’LUMOT TURLARI


Ma’lumotlar turi – kompyuter xotirasidagi yacheykada saqlanadigan


ma‟lumotlar shakli.


Ma’lu-

motlar Ma’lumotlar turi tavsifi Misol

turi

int() Butun sonlar, masalan, o‗quvchilar sonini yoshi = 15

ifodalash uchun.


float() Haqiqiy sonlar, masalan, pul miqdorini ifodalash narxi = 20.45


uchun.

str() Satrli, masalan, so‗z yoki gaplarni ifodalash name = 'Ahmad'

uchun.

bool() Маntiqiy, rost yoki yolg‗on ekanligini ifodalash a= True

uchun b= False


6


Eslab qoling!

O‗zgaruvchi qabul qilgan qiymat turini type() funksiyasi yordamida





aniqlash mumkin.


foydalanuvchi tomonidan kiritiladi.


Dastur:

a=float(input('1-qayiqning tezligi= '))

b=float(input('2-qayiqning tezligi= '))


Haqiqiy son turidagi ma‘lumotlarni kiritish uchun float(input()) ko‗rinishida


ishlatish lozim yoki kiritilgan ma‘lumot turini float() funksiyasi yordamida


o‗zgartirish kerak.


30.1. Darvozaning eni va bo‗yi foydalanuvchi tomonidan kiritiladi:


1) darvoza yuzasini hisoblash dasturini tuzing;


2) darvoza qirrasining uzunligini hisoblash dasturini tuzing.


Blok sxema Dastur:


a=int(input("Darvoza bo'yini kiriting a="))


b=int(input("Darvoza enini kiriring b="))


S=float(input('Qayiqlar orasidagi masofa= '))


S=0

P=0

S=a*b




P=2*(a+b)


print('Yuzi S=',S,' kvadrat metr')


print('Perimetri P=',P,' metr')





30.3. O‗zgaruvchi uchun qiymat kiritilganda, uning turini aniqlovchi dastur


tuzing.

Dastur:

a=input('Qiymat kiriritng =')


print(type(a))


a=int(input('Qiymat kiriritng ='))


print(type(a))


a=bool(input('Qiymat kiriritng ='))





print(type(a))


31-dars. AMALIY MASHG‘ULOT


Agar o‗zgaruvchiga butun son yuklansa – int, haqiqiy son yuklansa – float,


bittalik yoki ikkitalik qo‘shtirnoq yordamida satr yuklansa – str turiga ega


bo‗ladi.


7


31.2. Ikkita qayiq turg‗un suvda bir-biriga tomon a

km/soat va b km/soat tezlik bilan suzmoqda. Ular orasidagi





masofa S km bo‗lsa, ular qancha vaqtda uchrashadi? a va b


t=S/(a+b)


print(t," soatdan so'ng uchrashadi.")


31.3. Xonaning bo‗yi (x) va eni (y) metr foydalanuvchi tomonidan kiritiladi.


Xonaning yuzasi (S) va perimetri (P)ni topish dasturini tuzing.


Blok sxema Dastur:


x=float(input("Xonaning bo'yi= "))


y=float(input('Xonaning eni= '))





S=x*y

P=2*(x+y)

print("Xonaning yuzi=",S," kv.m")





print("Xonaning perimeti=",P," m")


31.4. Uchburchak asosining uzunligi (c) va balandligi (h) foydalanuvchi


tomonidan kiritiladi. Uchburchak yuzasi (S)ni hisoblash dasturini tuzing.


Blok sxema Dastur:


c=float(input('Uchburchak asosining uzunligi= '))


h=float(input('Uchburchakning balandligi= '))


S=0.5*c*h


print('Uchburchakning yuzi S=',S,' yuza birligi.')





31.5. Avtomobilning o‗rtacha tezligi v (km/soat) va bosib o‗tgan yo‗li s (km)


foydalanuvchi tomonidan kiritiladi. Avtomobilning yurgan vaqti t (soat)ni


hisoblash dasturini tuzing.


Blok sxema Dastur:


v=float(input("O'rtacha tezlik= "))


S=float(input("Bosib o'tilgan yo'l= "))


8


t=S/v



print('Yurgan vaqti=',t,' soat.')


Ayirish – x – y print(7–5) 2


Ko‗paytirish * x * y print(7*5) 35


Bo‗lish / x / y print(7/5) 1.4


31.6. Doiraning radiusi r ga teng. Doiraning yuzi (s) va aylana uzunligi (L) ni


Bo‗linmaning butun qiymatini hisoblash // x // y print(7//5) 1


topish dasturini tuzing. Doiraning radiusi foydalanuvchi tomonidan kiritiladi


(PI=3.14).


Blok sxema Dastur:


r=float(input("Doira radiusini kiriting r= "))


PI=3.14

S=PI*r*r

L=2*PI*r


print('S=',S,' yuza birligi.')


print('L=',L,' uzunlik birligi.')





Bo‗linmaning qoldig‗ini hisoblash % x%y print(7%5) 2


32-dars. NAZORAT ISHI


10-masala. Boshlang‗ich tezligi v bo‗lib, a tezlanish bilan tekis harakat


• qilayotgan moddiy nuqtaning t vaqt ichida bosib o‗tadigan yo‗lini aniqlash


• dasturini tuzing (yo‗llanma: S = vt + at / 2).


• Blok sxema Dastur:


v0=float(input("Boshlang'ich tezlik v0= "))


a=float(input("Tezllanush a= "))


t=float(input("Harakatlangan vaqti t= "))


S=v0*t+v0*t*t/2


print("Bosib o'tilgan yo'l S=",S,' uzunlik birligi.')





33–34-darslar. PYTHONDA ARIFMETIK AMALLARNI BAJARISH


9


Arifmetik amallar

Amal belgisi Мisol


Amal nomi


Belgi Yozuvda Operatorda Natija





Qo‗shish + x + y print(7+5) 12


a) Hovuz ichiga kafel qoplash uchun qancha kvadrat metr


kafel kerak bo‗ladi?


b) Hovuzni to‗ldirish uchun qancha litr suv kerak bo‗ladi (1 l =


• Darajaga ko‗tarish (x) ** x**y print(5**2) 25


33-34.1. Berilgan a va b sonlari yig‗indisi, ko‗paytmasini toping. Yig‗indi va


1000 cm)?


ko‗paytma oxirgi raqamlarining ko‗paytmasini topish dasturini tuzing.


Blok sxema


Dastur:

a=int(input("a sonni kiriting= "))

b=int(input("b sonni kiriting= "))


d=a+b

print("a+b=",d)

c=a*b

print("a*b=",c)

d=d%10

c=c%10

P=c*d




print("P=",P)


33-34.2. Berilgan ikki xonali son xonalarining yig‗indisini hisoblash dasturini


tuzing.




Blok sxema Dastur:


a=int(input("Ikki xonali son kiriting= "))


a1=a//10


a2=a%10

S=a1+a2

print("Raqamlar yig'indisi=",S)





35-dars. AMALIY MASHG‘ULOT


10

5.1. Hovuzning bo‗yi 6 metr, eni 4 metr va chuqurligi 3

meBerilganlar asosida quyidagi topshiriqlar uchun dastur





tuzing:

Dastur:

a=6; b=4;h=3


s=2*(a+b)*h+a*b


print(s,' kv.m kafel kerak')


1b. Blok sxema Dastur:


a=6

b=4

h=3

V=1000*a*b*h

print(V,' litr suv kerak')





35.2. Yuqoridagi masalada hovuz bo‗yi, eni va chuqurligi kattaliklari


foydalanuvchi tomonidan kiritiladigan hol uchun dastur tuzing.


Blok sxema Dastur:


a=float(input("Hovuzning bo'yi a="))


b=float(input("Hovuzning enii b="))


h=float(input("Hovuzning chuqurligi h="))


S=2*(a+b)*h+a*b


V=a*b*h

V*=1000

print(S,' kv.m kafel kerak')


print(V,' litr suv kerak')





11




P=a1*a2*a3


print('Raqamlar',a1,'; ',a2,'; ',a3)


print("Raqamlar yig'ndisi ",S)


35.3. 10 288 sekundni soat, minut va sekundlarda ifodalang.


Blok sxema Dastur:


a=10288

asoat=a//3600

print("Raqamlar ko'paytmasi ",P)


a–=asoat*3600


aminut=a//60


a-=aminut*60





print(asoat,' soat',aminut,' minut',a,' sekund')





35.4. Berilgan ikki xonali son xonalarining ko‗paytmasini hisoblash dasturini


tuzing.

Blok sxema Dastur:

a=int(input('Ikki xonali son kiriting ='))


a1=a%10

a2=a//10

P=a1*a2

print("Raqamlar ko'paytmasi ",P)



35.5. Berilgan uch xonali son xonalarining yig‗indisi va ko‗paytmasini hisoblash


dasturini tuzing.


Dastur:

a=int(input('Uch xonali son kiriting ='))

12

a1=a//100

a2=(a%100)//10


a3=a%10




S=a1+a2+a3


belgilar ketma-ketligini qirqib oladi.


1-masala. ―gul‖, ―is‖, ―ton‖ qism so‗zlaridan so‗z yasang.


Dastur:

35.6. Qisqartirilgan amallarni qo‗llagan holda, quyidagi dastur natijasini

chiqaring(a=8, b=5, c=9.)


a=int(input())


b=int(input())


c=int(input())


a-=b

a*=c

a+=(b*c+b)





print(a)


Dastur natijasi: 77.


• xy



35.7. Quyidagi ifodani Python tilida yozing:


• 1xx



Yechilishi: y=7/(x**2+x+1)+x**2


36-dars. PYTHONDA SATRLAR BILAN ISHLASH


Satr – harf, son va belgilar hamda probeldan tarkib topgan belgilar ketma-ketligi.


Satrlar – qo‗shtirnoq ichiga olingan Unicode kodidagi belgilar ketma-ketligi.


Pythonda satrlar bittalik va ikkitalik qo‗shtirnoqlar orqali beriladi.


Satrlar ustida keng bajariladigan amallardan biri bu – birlashtirish amali.


Satrlarni birlashtirish uchun ―+‖ (qo‗shish belgisi) amali qo‗llaniladi.


Satr uzunligini len() funksiyasi yordamida aniqlash mumkin. Phyton barcha belgi


va probellar sonini o‗zi hisoblab chiqaradi.


Qism satrlarni belgilash.


Pythonda satrdagi belgilarni raqamlash 0 dan boshlanadi va bu raqam indeks deb


ataladi.


a[n] – a satrdagi n-o‗rinda turgan belgini qirqib oladi.


a[:m] – a satrdan 0 indeksdan boshlab m indeksgacha bo‗lgan belgilar ketma-


ketligini qirqib oladi;


a[m:n] – a satrdan m indeksdan boshlab n indeksgacha bo‗lgan belgilar


ketma-ketligini qirqib oladi;


13

a[m:] – a satrdan m indeksdan boshlab oxirigacha bo‗lgan belgilar ketma-ketligini

qirqib oladi;





a[m:n:q] – a satrdan q qadam bilan m indeksdan boshlab n indeksgacha bo‗lgan


37.2-masala. TUZAMAN, PYTHON, DASTUR, TILIDA, MEN. Ushbu


so‗zlardan jumla tuzuvchi dastur tuzing.


Dastur:

a='gul'

b='is'

c='ton'

natija=a+b+c





print(natija)


36.2-masala. Ismingizni ekranga 5 marta chiqarish dasturini tuzing.


Dastur:

a='Anvar '



print(a*5)


36.3-masala. Sinf (masalan, 9) vа ism (masalan, Dilshod) foydalanuvchi


tomonidan kiritiladi. ―Меn 9-sinf o‗quvchisi – Dilshodman‖ satrini chiqaruvchi


dastur chizing.


a=input ("Ismingiz=")


b=input("Nechanchi sinfda o'qiysiz=")





print("Men "+b+"-sinf o'quvchisi - "+a+"man.")


37-dars. AMALIY MASHG‘ULOT


Maxsus belgilar: Pythonda boshqa tillardagi kabi quyidagi maxsus belgilar


mavjud:

\t – tabulyatsiya belgisi;

\n – yangi satrga o‗tish belgisi;


\‘ – apostrof (tirnoq) belgisi;


\‖ – qo‗shtirnoq belgisi.


37.1-masala. ―GULTOJIXO‗ROZ‖ so‗zidan qism so‗zlar ajratuvchi dastur


tuzing.

Dastur:

a="GULTOJIXO‗ROZ"


print(a[:3]) GUL


14

print(a[3:7]) TOJI

print(a[7:]) XO‗ROZ











print(a*4) ++++


37.6-masala. Belgilar yordamida pingvin yasang.


a='TUZAMAN'


b='PYTHON'


c='DASTUR'


d='TILIDA'


e='MEN'

f=e+' '+b+' '+d+' '+c+' '+a



print(f)


37.3-masala. Foydalanuvchi tomonidan kiritilgan matn uzunligini aniqlovchi


dastur tuzing.


Dastur:

a=input('Matnni kiriting=')

b=len(a)





print(b)





37.4-masala. ―*‖ lar yordamida uchburchak yasang.


Dastur:

a=' '

b='*'

print(a*3,b)

print(a*2,b,b)





print(a,b,b,b)


37.5-masala. ―+‖ yordamida kvadrat yasang.


Dastur: Natija:


a='+'

15

print(a*4) ++++


print(a*4) ++++








print(a*4) ++++


Dastur:

print(' ~')

print(' --')


print(' (O O)')


print(' /V\ ')


print(' /(-)\ ')





print(' ^^ ^^')


38-dars. PYTHONDA OPERATOR VA IFODALAR


input() va print() operatorlarining qo‗shimcha imkoniyatlari.


split() usuli input() operatori orqali kiritilgan satrli ma‘lumotlarni ajratuvchi belgi


yordamida qismlarga ajratadi. Odatda, probel ajratuvchi belgi vazifasini bajaradi.


Agar satr tarkibidagi qismlarni ajratish uchun boshqa belgi ishlatilgan bo‗lsa, u


holda bu belgini split() qavslari ichida ko‗rsatish kerak bo‗ladi.


end= ‘ ‘ Natijaviy satr qanday belgi bilan tugashini belgilaydi.


38.1-masala. Kutubxonaga ikkita kitob do‗konidan kitoblar keltirildi. Birinchi


o‗kondan n dona kitob keltirildi. Ikkinchi do‗kondan esa birinchi do‗konga


qaraganda k dona ko‗p kitob keltirildi. Kutubxonaga jami qancha kitob keltirildi?


Masalani yechish dasturini tuzing. n va k kattaliklar foydalanuvchi tomonidan


kiritiladi.


Dastur:

n=int(input('1-kutubxonadan keltirilgan kitoblar soni n='))

k=int(input("2-kutubxonadan keltirilgan nechta ko'p k="))


jami=2*n+k





print('Jami keltirildi=',jami)


16

38.2-masala. Komilaga 854*89657*4587*425 amalini dasturga kiritib, hisoblash

topshiriq berildi. U qanday dastur tuzishi lozim?





Dastur:

y=n//25

o=n%25




print(y,' ta yashikka uzum solingan,',o,' kilogram uzum ortib qolgan')


a=input('Ifodani kiriring=').split('*')


a1=int(a[0])


a2=int(a[1])


a3=int(a[2])


a4=int(a[3])


b=a1*a2*a3*a4


print(a1,a2, a3, a4, sep='*',end=‘=‘)





print(b)


39-dars. AMALIY MASHG‘ULOT


39.1-masala. Bog‗dagi olma daraxtidan Anvar a dona, Dilshod b dona va


Mahmud c dona olma terdi. Bolalar tergan olmalarini o‗zaro teng taqsimlashsa,


har biriga qanchadan olma to‗g‗ri keladi? Qancha olma ortib qoladi? Har bir


bolaning tergan olmasi soni foydalanuvchi tomonidan kiritiladi. Masala dasturini


tuzing.

a=int(input('Anvar tergan olmalar soni='))

d=int(input('Dilshod tergan olmalar soni='))


m=int(input('Mahmud tergan olmalar soni='))


jami=a+d+m


hb=jami//3


q=jami%3


print('Har bir bolaga ',hb,' tadan olma tegdi.')





print(q,' ta olma ortib qoldi.')


39.3(1,2)-masala. Bog‗bon o‗z bog‗idan n kg hosil oldi. Berilganlar asosida


quyidagi topshiriqlar uchun dastur tuzing:


1) bog‗bon hosilini tonna, sentner va kilogrammlarda ifodalang;


2) agar har bir yashikga 25 kg dan uzum solinsa, jami qancha yashikga uzum


solingan bo‗ladi?


n=int(input('Uzum miqdorini kiriring(kg)='))


t=n//1000


s=(n%1000)//100


17

k=n%100

print(t,' tonna ',s,' sentner ',k,' kilogram')





print()

Dastur:

39.4-masala. split() usulidan foydalanib, ―5746+4186+8426+8266‖ satrini


dasturga kiritib va berilgan ifodani hisoblash dasturini tuzing.


Dastur:

a=input('Ifodani kiriting=').split('+')

n1=int(a[0])


n2=int(a[1])


n3=int(a[2])


n4=int(a[3])


s=n1+n2+n3+n4


print(n1, n2, n3, n4,sep='+',end'=')





print(s)


39.5-masala. F kuch ta‘sirida jism a tezlanish oldi. Agar F va a ning qiymatlari


quyidagicha bo‗lsa, jism massasini hisoblash dasturini tuzing (m=F/a):


Dastur:

F=float(input("Ta'sir etuvchi kuchni kiriting="))

a=float(input('Tezlanishni kiriting='))





print('Jismning massasi=',F/a)


39.6(a,b)-masala. Quyidagi ifodalarni Python tilida yozib, ular natijasini


hisoblash dasturini tuzing, bu yerda: a = 14, b = 8, c = 452, r = 41.


a) S = a + b + ac; b) P = Pi*r**2 + ac.


Dastur:

a=14; b=8; c=452; r=41

S=a+b+a*c


P=pi*r*r+a*c





print('S=',S,'; P=', P)


40-dars. PYTHONDA SODDA MASALALARNI DASTURLASH


18

40.1-masala. Trapetsiyaning ikkita asosi (a va b) hamda asosiga tushirilgan

balandligi h berilgan. Trapetsiyaning yuzi s ni hisoblash dasturini tuzing. a, b va h





foydalanuvchi tomonidan kiritiladi.


41.1-masala. Tomoni a ga teng kvadrat ichiga doira chizilgan. Bo‗yalgan soha


yuzi s ni topish dasturini tuzing.


Dastur:

a=float(input('Ifodani kiriting a='))

a=float(input('1-asosni kiriting a='))


b=float(input('2-asosni kiriting b='))


h=float(input('balandlikni kiriting h='))


s=(a+b)*h/2





print('S=',s)


40.2-masala. Teng tomonli uchburchakning tomoni a ga teng. Uning yuzi s ni


sk=a*a

hisoblash dasturini tuzing.

Dastur:

from math import*

a=float(input('Uchburchak tomonini kiriting a='))


s=(a**2)*sqrt(3)/4





print('S=', s)


40.3-masala. Kvadratning tomoni n ga teng. Uning yuzini hisoblash dasturini


tuzing.

Dastur:

a=float(input('Kvadrat tomonini kiriting a='))


s=a**2




print('S=', s)


40.4-masala. split() usulidan foydalanib, ―5489*245*58*69*142*4587*54‖


satrini dasturga kiriting va berilgan ifodani hisoblang.


Dastur:

a=input('Ifodani kiriting a=').split('*')

n0=int(a[0]); n1=int(a[1]); n2=int(a[2])


n3=int(a[3]); n4=int(a[4]); n5=int(a[5])


n6=int(a[6])


p=n0*n1*n2*n3*n4*n5*n6


print(n0,n1,n2,n3,n4,n5,n6,sep='*',end='=')


print(p)


19

41-dars. AMALIY MASHG‘ULOT



41.5-masala. Avtobus bir kunda n kilometr yo‗l yuradi. m kilometr masofani


bosib o‗tishi uchun avtobus necha kun yurishi kerak? n va m kattaliklar


foydalanuvchi tomonidan kiritiladi. Masalani yechish dasturini tuzing.


sd=pi*(a/2)**2


bs=sk-sd


print("Bo'yalgan soha yuzi=", bs)


Dastur:




41.2-masala. Foydalanuvchi tomonidan kiritilgan sondan avval va keyin keluvchi


sonni ekranga chiqaruvchi dastur tuzing.


Dastur:

a=int(input('sonni kiriting a='))

a1=a-1

a2=a+1



print(a1,'; ',a2)


41.3-masala. n nafar o‗quvchi k dona olma terdi va olmalar ular o‗rtasida teng


taqsimlandi. Qoldiq olmalar savatchaga solindi.


a) Har bir o‗quvchi qanchadan olma olgan?


b) Savatchaga qancha olma solingan?


d) n va k kattaliklar foydalanuvchi tomonidan kiritiladigan hol uchun dastur


tuzing.

Dastur:

n=int(input("O'quvchilar sonini kiriting n="))


k=int(input("Terilgan olmalar soni k="))


m=k//n

s=k%n

print("Har bir o'quvchi ",m," tadan olma olgan.")





print("Savatchaga ",s," ta olma soligan.")


41.4-masala. Foydalanuvchi tomonidan kiritilgan ikki xonalidan katta natural


sonning oxirgi ikki raqamini topish dasturini tuzing.


Dastur:

n=int(input("Sonini kiriting (n>99) n="))

20

m=n%100



print(m)





Dastur:

n=int(input("Avtobusning bir kunda bosib o'tadigan yo'li (km) n="))

m=int(input("Avtobusning bosib o'tishi kerak bo'lgan masofa m="))


kun=m/n




print(kun)


41.6-masala. Chumolining bosib o‗tgan yo‗li millimetrlarda berilgan. Uni metr,


santimetr va millimetrlarda ifodalang (masalan, 45 786 = 45 metr 78 cm 6 mm).


Dastur:

s=int(input("Cumoli bosib otgan yo'l (mm) S="))

s1=s//1000


s2=(s%1000)//10


s3=s%10




print(s1,' m',s2,' sm',s3,' mm')


41.7-masala. Kubning tomoni a ga teng. Kubning hajmini topish dasturini tuzing.


Dastur:

a=int(input("Kubning tomoni a="))

v=a**3




print('V=',v,' hajm birligi')


41.8-masala. a, b, c, d sonlari berilgan. Ularning o‗rta arifmetigini topish


dasturini tuzing.


Dastur:

a=float(input("a="))

b=float(input("b="))


c=float(input("c="))


ua=(a+b+c)/3





print('Natija: ',ua)


41.9-masala. Maktab ma‘muriyati 3 ta sinf uchun yangi matematika xonasi


tashkil etishga qaror qildi. Mashg‗ulotlar bir vaqtda o‗tkazilganligi sababli, har bir


xonaga alohida parta sotib olinishi kerak. Bitta partada ikkitadan ortiq o‗quvchi


21

o‗tira olmaydi. Har bir sinf o‗quvchilari soni ma‘lum bo‗lsa, qancha parta sotib

olish kerak? Foydalanuvchi tomonidan uchta qiymat – uchta sinf o‗quvchilari





soni kiritiladi.


s1=int(input("s1="))


s2=int(input("s2="))


s3=int(input("s3="))


p1=(s1+1)//2


p2=(s2+1)//2


p3=(s3+1)//2





print(p1+p2+p3,' ta' )


45-dars. TARMOQLANUVCHI ALGORITMLARNI DASTURLASH.


IF…ELSE OPERATORI


if operatori– faqat berilgan shart rost bo‗lgandagina muayyan buyruqlar


to‗plamini bajaradigan shartli operator.


if operatori tarkibidagi shart True (rost) qiymat qaytarsa, buyruqlar_bloki


bajariladi. Agar yolg‗on qiymat qaytarsa, buyruqlar_bloki bajarilmaydi.


buyruqlar_bloki if operatoridan keyingi satrda xat boshidan 4 ta probel qoldirib,


keyin yoziladi.


buyruqlar_bloki dagi buyruqlar alohida qatorda yoki bitta qatorda nuqta, vergul


bilan ajratilgan holda yozilishi mumkin.


if operatori bilan birga else buyrug‗ini ham qo‗llash mumkin. Agar shart True


(rost) qiymat qaytarsa, 1-buyruqlar_bloki bajariladi, aks holda


2-buyruqlar_bloki bajariladi.


45.1-masala. Kiritilgan a soni musbat yoki manfiy ekanligini aniqlovchi dastur


tuzing.

Dastur:

a=float(input("son="))


if a>0: print('musbat')


elif a<0: print('manfiy')





else: print('nolga teng')


22

45.2-masala. Kiritilgan a soni toq yoki juft ekanligini aniqlovchi dastur tuzing.



Dastur:

a=int(input("son="))

if a%2==0: print('juft')





else: print('toq')


45.3-masala. Tomonlari a va b ga teng to‗g‗ri to‗rtburchak kvadrat ekanligini


aniqlovchi dastur tuzing.


Dastur:

a=input("a=")

b=input("b=")


if a==b: print("Kvadrat bo'ladi.")





else: print("Kvadrat bo'lmaydi.")


45.4-masala. Kiritilgan a soni to‗rt xonali son ekanligini aniqlovchi dastur tuzing.


Dastur:

a=input("a=")

if len(a)==4: print("Son to'rt xonali.")





else: print("Son to'rt xonali emas.")


46-dars. AMALIY MASHG‘ULOT


46.1-masala. Ikkita a va b son berilgan. Agar b son a sondan kichik bo‗lsa, u


holda b ni nol bilan almashtiruvchi, aks holda b ni o‗zgarishsiz qoldiruvchi dastur


tuzing.

Dastur:

a=float(input('a='))


b=float(input('b='))


if b

b=0



print('a=',a,' b=',b)


46.2-masala. Berilgan a butun son noldan farqli b butun songa qoldiqsiz


bo‗linishi yoki bo‗linmasligini aniqlovchi dastur tuzing.


23




Dastur:

so‗zlarining kombinatsiyasi bo‗lib, ―aks holda agar” ma‘nosini anglatadi.

shart True (rost) bo‗lsa, buyruqlar_bloki bajariladi, aks holda ikkinchi shart –


shart1 tekshiriladi. shart1 True (rost) bo‗lsa, buyruqlar_ bloki1, aks holda


buyruqlar_bloki2 bajariladi.


b=int(input('b='))


if a%b==0:


print('a+b=',a+b)


else: print('a*b=',a*b)


222

46.4-masala. Uchta a, b va c son berilgan. Agar a–b=c shart bajarilsa, ularning

ko‗paytmasini, aks holda yig‗indisini hisoblovchi dastur tuzing.


Dastur:

a=float(input('a='))

b=float(input('b='))


c=float(input('c='))


if a*a–b*b==c*c:


print('a*b*b=',a*b*c)


else: print('a+b+c=',a+b+c)


46.5-masala. Butun son berilgan. Agar u musbat bo‗lsa, unga 1 sonini qo‗shish,


aks holda o‗zini chiqarish dasturini tuzing.


Dastur:

a=int(input('a='))

if a>0:

print('a+1=',a+1)



else: print('a=',a)


46.6-masala. Kiritilgan butun son musbat bo‗lsa, uning 10 ga ko‗paytmasini, aks


holda o‗zini chiqaruvchi dastur tuzing.


Dastur:

a=int(input('a='))

if a>0:

print('10*a=',10*a)



else: print('a=',a)


47-dars. TARMOQLANUVCHI ALGORITMLARNI DASTURLASH.


ELIF OPERATORI


24

Pythonda CASE tanlash operatori mavjud emasligi sababli, ko‗p shartli



masalalarni yechish uchun elif operatori dan foydalaniladi. elif – else va if


Dastur:

a=int(input('a='))

b=int(input('b='))


c=int(input('c='))


47.1-masala. Ikki xonali sonning raqamlari toq ekanligini aniqlovchi dastur


tuzing.

Dastur:

a=input('Ikki xonali son kiriting a=')


a1=int(a[0])


a2=int(a[1])


if (a1%2==1) and (a2%2==1):


print('Toq')


if a%2==0: print(a,' juf son.')





else: print('Toq emas')


47.2-masala. Uch xonali sonda bir xil raqamlar mavjudligini aniqlovchi dastur


tuzing.

Dastur:

a=input('Uch xonali son kiriting a=')


a1=int(a[0])


a2=int(a[1])


a3=int(a[2])


if (a1==a2) or (a2==a3) or (a1==a3):


print('Bir xil raqamlar mavjud')





else: print('Bir xil raqamlar mavjud emas')


47.3-masala. a va b sondan qaysi biri juft ekanligini aniqlovchi dastur tuzing.


Dastur:

a=int(input('a='))

b=int(input('b='))


if a%2==0:


print(a,' juf son.')


if b%2==0: print(b,' juft son.')


if not((a%2==0)or(b%2==0)):





print('Juft sonlar mavjud emas.')


25

47.4-masala. 3 ta butun son kiritildi. Qaysi biri juft ekanligini aniqlovchi dastur

tuzing.




Dastur:

katta=0

kichik=0


if b%2==0: print(b,' juft son.')


if c%2==0: print(b,' juft son.')


if not((a%2==0)or(b%2==0)or (c%2==0)):


print('Juft sonlar mavjud emas.')


a=int(input('a sonni kiriting ='))


48-dars. AMALIY MASHG‘ULOT


48.1-masala. Uchta a, b va c butun son berilgan. Ular orasidan musbatlari sonini


topish dasturini tuzing.


Dastur:

s=0

for i in range(1,4):


a=int(input('sonni kiriting ='))


if a>0: s+=1


if s==0:


print('Musbat sonlar mavjud emas.')


else: print('Musbat sonlar ',s,' ta')


48.2-masala. Uchta a, b va c butun son berilgan. Ular orasidan musbat va


manfiylari sonini topish dasturini tuzing.


Dastur:

s1=0

s2=0

for i in range(1,4):

a=int(input('sonni kiriting ='))


if a>0: s1+=1


if a<0: s2+=1


if s1==0:


print('Musbat sonlar mavjud emas.')


else: print('Musbat sonlar ',s1,' ta')


if s2==0:


print('Manfiy sonlar mavjud emas.')





else: print('Manfiy sonlar ',s2,' ta')


26

48.3-masala. Ikkita a va b son berilgan. Dastlab kattasini, keyin esa kichigini



chiqaruvchi dastur tuzing.


if n==2: print('Haftaning 2–kuni Seshanba.')


if n==3: print('Haftaning 3–kuni Chorshanba.')


if n==4: print('Haftaning 4–kuni Payshanba.')


b=int(input('bsonni kiriting ='))


if a>b: katta=a; kichik=b


else:

katta=b

if n==5: print('Haftaning 5–kuni Juma.')


kichik=a


print(katta,'; ',kichik)


48.4-masala. Uchta a, b va c butun son berilgan. Ulardan faqat musbatlari


kvadratini hisoblab chiquvchi dastur tuzing.


Dastur:

a=int(input('1-Sonni kiriting ='))

b=int(input('2-Sonni kiriting ='))


c=int(input('3-Sonni kiriting ='))


if a>0: print(a*a,'; ')


if b>0: print(b*b,'; ')


if c>0: print(c*c,'; ')


48.5-masala. Kvadrat tenglamani yechish dasturini tuzing.


Dastur:

from math import*

a=int(input('a koeffitsiyentnikiriting ='))


b=int(input('b koeffitsiyentnikiriting ='))


c=int(input('c koeffitsiyentnikiriting ='))


D=b*b–4*a*c


if D<0: print('Tenglama haqiqiy ildizlarga


ega emas.')


elif D==0: print('x=',–b/(2*a))


else:

print('x1=',(–b+sqrt(D))/(2*a))



print('x2=',(–b–sqrt(D))/(2*a))


48.6-masala. Hafta raqami 1–7 oraliqda kiritilganda, hafta kunini ekranga


chiqaruvchi dastur tuzing.


27

Dastur:

n=int(input('Hafta kuning tartib raqamini kirirting ='))





if n==1: print('Haftaning 1–kuni Dushanba.')


a=int(input('a='))


b=int(input('b='))


if a

for i in range (a,b+1): print(i)

if n==6: print('Haftaning 6–kuni Shanba.')


if n==7: print('Haftaning 7–kuni Yakshanba.')


48.7-masala. a va b sonlar berilgan. Agar ular musbat va yig‗indisi 100 dan katta


bo‗lsa, a sonining b songa nisbatini, ular musbat va yig‗indisi 100 dan katta


bo‗lmasa, a ning b ga ko‗paytmasini hisoblash dasturini tuzing.


Dastur:

a=int(input('a sonnni kirirting ='))

if a>b:

b=int(input('b sonnni kirirting ='))

if (a>0)and(b>0)and(a+b>100): print('a/b=',a/b)





if (a>0)and(b>0)and(a+b<=100): print('a*b=',a*b)


48.8-masala. Ikkita son berilgan. Agar birinchi son ikkinchisidan katta bo‗lsa, 1


ni, agar ikkinchi son birinchisidan katta bo‗lsa, 2 ni, agar ikkalasi teng bo‗lsa, 0 ni


chiqaruvchi dastur tuzing.


Dastur:

a=int(input('a sonnni kirirting ='))

b=int(input('b sonnni kirirting ='))


if a>b: print(1)


if b>a: print(2)





if a==b: print(0)


49–50-darslar. TAKRORLANUVCHI ALGORITMLARNI DASTURLASH.


FOR OPERATORI


49-50.1-masala. a va b sonlar berilgan. a dan b gacha bo‗lgan barcha sonlarni


chiqaruvchi dastur tuzing. Bu yerda a <= b.


Dastur:

a=int(input('a='))

b=int(input('b='))





for i in range (a,b+1): print(i)


28

49-50.2-masala. a va b sonlar berilgan. Agar a < b bo‗lsa, a dan b gacha bo‗lgan

sonlarni o‗sish tartibida, aks holda kamayish tartibida chiqaring.





Dastur:

51.2-masala. 1 dan n gacha bo‗lgan natural sonlar kvadratlari yig‗indisini

aniqlovchi dastur yozing.


Dastur:

for i in range (a,b–1,–1): print(i)

49-50.3-masala. 1 dan 10 gacha bo‗lgan natural sonlar kvadratlarini chiqaruvchi


dastur tuzing.


Dastur:

for i in range (1,11):



print(i,'*',i,'=',i*i)


49-50.4-masala. 1 dan 10 gacha bо‗lgan natural sonlar yig‗indisini chiqaruvchi


dastur tuzing.


Dastur:

s=0

s+=i




print('S=',s)


51-dars. AMALIY MASHG‘ULOT


51.1-masala. Quyidagi dasturiy koddagi iteratsiyalar (takrorlashlar) sonini


aniqlang.


1. for i in range(487): cms='Salom'


Yechilishi: 487 – 0=487. Javob: 487 marta.


2. for i in range(2,89): cms=12


Yechilishi: 89 – 2+1=. Javob: 88 marta.


3. for i in range(-17,15,4): cms='dastur'


Yechilishi: [(15–(–17)+1):4]=[33:4]=8. Javob: 8 marta


4. for i in range(-58,0): cms=4789


Yechilishi: 0–(–58)=58. Javob: 58 marta.


5. for i in range(73,161,2): cms=2020


Yechilishi: [(161–73+1):2]=[89:2]=44. Javob: 44 marta


6. for i in range(100,1982): cms='UZB'


Yechilishi: 1982–100+1=1882. Javob: 1882 marta.


7. for i in range(1874,21): cms='4782'


Yechilishi: 1874>21 bo‗lgani ushcun, biror marta hambajarilmaydi. Javob: 0


29

marta.

8. for i in range(-21,21,5): cms='4782'





Yechilishi: [(21–(–21)+1):5]=8. Javob: 8 marta.


Dastur:

s=0

n=int(input('n ning qiymatini kiriting='))


for i in range (1,n+1): s+=i*i





print('S=',s)


51.3-masala. n>=2 shartni qanoatlantiruvchi n soni berilgan. Ushbu ifodani


hisoblovchi dastur


tuzing. d=1*2+2*3+...+(n–1)*n


Dastur:

d=0

n=int(input('n ning qiymatini kiriting='))


for i in range (1,n+1): d+=i*(i+1)





print('d=',d)


51.4-masala. Bir nechta son berilgan. Ular orasida qancha 2 soni bor ekanligini


aniqlovchi dastur tuzing.


Dastur:

s=0

n=int(input('n ning qiymatini kiriting='))


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


a=float(input('Sonni kiriting='))


if a==2: s+=1


if s==0: print('2 soni kiritilmagan.')





else: print(s,' ta 2 soni bor')


51.5-masala. S=11+13+15+ . . . +49 yig‗indini hisoblash dasturini tuzing.


Dastur:

s=0

for i in range (11,50,2):


s+=i




print('s=',s)


30

51.6-masala. n ta uchburchakni ekranga chiqaruvchi dastur tuzing. n o'zgaruvchi



–1 dan 9 gacha bo‗lgan natural sonlarni qabul qiladi.


for i in range (–1, 9):





print((' ')*(9–i),('* ')*(i+2))


52-dars. NAZORAT ISHI


52.1-masala. Butun son kiritilgan vaqtda sondan avval va keyin keluvchi sonni


chiqaruvchi dastur tuzing.


Dastur:

a=int(input('sonni kiriting='))

print(a,' dan oldingi son bu: ',a–1)





print(a,' dan keyingi son bu: ',a+1)


52.2-masala. Natural son berilgan. Shu son oxirgi raqamini topish dasturini


tuzing.

Dastur:

a=int(input('sonni kiriting='))





print(a,' sonining oxirgi raqami bu: ',a%10)


52.3-masala. 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.


Dastur:

n=int(input('Sekundlar sonini kiriting='))

soat=n//3600


minut=(n-(3600*soat))//60


sekund=n-soat*3600-minut*60


print(n,'=',soat,'*',3600,'+',minut,'*',60,'+',sekund)





print('h=',soat,'; min=',minut,'; sek=',sekund)


52.4-masala. Mahsulotning narxi s so‗m. Ushbu mahsulotdan n ta sotib olish


uchun qancha so‗m sarflash kerak?


Dastur:




31

53.3-masala. a va b natural sonlar berilgan. a dan b gacha bо‗lgan sonlar orasidan

faqat juftlarini chiqaruvchi dastur tuzing. Bu yerda a <= b.


n=int(input('Musbat butun sonni kiriting='))


n1=n%100


n2=n1//10





print("O'nlar xonasidagi raqam=> ",n2)


Dastur:

52.6-masala. Ismingizni kiritganda quyidagi xabarni chiqaruvchi dasturni tuzing.

Dastur tuzishda print() operatorining end() usulidan foydalaning.


Dastur:

n=input('Ismingizni kiriting=')



print('Xush kelibsiz, ',n,end='!')


53-dars. TAKRORLANUVCHI ALGORITMLARNI DASTURLASH.


WHILE OPERATORI


53.1-masala. 0 dan 20 gacha bo‗lgan juft sonlarni ekranga chiqaruvchi dastur


tuzing.

Dastur:

i=0

while i<=20:

print(i,'; ')





i+=2

53.2-masala. n va k butun manfiy bo‗lmagan sonlar berilgan. n va k qatnashgan

ushbu ifodani hisoblang: n!/(k!*(n-k)!)


i=1; j=1; m=1; p1=1; p2=1; p3=1


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


k=int(input('k='))


while i<=n:


p1*=i; i+=1


while j<=k:


p2*=i; j+=1


while m<=n–k:


32

p3*=i; m+=1

natija=p1/(p2*p3)





print('Natija=',natija)





54.3-masala. Kiritilgan n soni qancha raqamdan iborat ekanligini aniqlovchi


dastur tuzing (ko‗rsatma: n=n//10 ko‗satma n=0 bo‗lguncha bajariladi).


a=int(input('a='))


b=int(input('b='))


while a<=b:


if a%2==0: print(a,'; ')


a+=1

53.4-masala. n natural soni berilgan. Kvadrati n dan kichik bo‗lgan barcha natural

sonlarni chiqaruvchi dastur tuzing.


Dastur:

Dastur:

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


i=1

while i*i<=n:

print(i,'; ')





i+=1

54-dars. AMALIY MASHG‘ULOT

54.1-masala. S=0,5+1,5+2,5+…+98,5+99,5 ifodani hisoblash dasturini tuzing.


Dastur:

s=0

i=0.5

while i<=100:

s+=i

i+=1



print('S=',s)


54.2-masala. n natural sonining barcha bo‗luvchilarini chiqaruvchi dastur tuzing.


n=int(input('n natural sonni kiriting ='))


Dastur:

i=1

while i<=n/2:


if n%i==0:


33

print(i,'; ')

i+=1







print(n,‘.‘)


55-dars. SIKLLARNI BOSHQARISH: CONTINUE, BREAK


OPERATORLARI


n=int(input('n natural sonni kiriting ='))


i=0

while not(n==0):

n=n//10

i+=1



print(i,'; ')


54.4-masala. Kiritilgan n soni raqamlari yig‗indisini hisoblovchi dastur tuzing.


Dastur:

n=int(input('n natural sonni kiriting ='))

i=0; s=0


while not(n==0):


s+=n%10; n=n//10





print(s)


54.5-masala. Kiritilgan n soni juft raqamlari sonini hisoblovchi dastur tuzing.


Dastur:

n=int(input('n natural sonni kiriting ='))

i=0; s=0


while not(n==0):


r=n%10;

if r%2==0: i+=1

n=n//10




print(i,' ta')


54.6-masala. n natural soni berilgan. 1 dan n gacha bo‗lgan natural sonlar ichida


oxirgi raqami 3 gа karrali sonlarni chiqaruvchi dastur tuzing.


Dastur:

i=1

n=int(input('n natural sonni kiriting ='))


while i

34

r=i%10

if r%3==0: print(i)





i+=1

n=int(input('n sonini kiriting: '))

chiziq(n)


58-dars. AMALIY MASHG‘ULOT


58.1-masala. ‗*‘ belgisidan tomoni n ga teng kvadrat chizuvchi dastur tuzing.


55.2-masala. Foydalanuvchi tomonidan kiritilgan sonlar yig‗indisini hisoblash


dasturini tuzing. Agar manfiy son kiritilsa, sikl o‗z ishini to‗xtatishi lozim.


Dastur:

s=0

for i in range(1,11):


print(i,'-sonni kiriting=')


Protseduradan foydalaning.


son=float(input())


if son>=0: s+=son


else: break


print('s=',s)


56–57-darslar. QISM DASTURLAR: FUNKSIYALAR VA


PROTSEDURALAR


56-57.1-masala. n va k butun musbat sonlar berilgan. n va k qatnashgan ushbu


ifodani hisoblang: n!/(k!(n-k)!). Funksiyadan foydalaning.


Dastur:

def factor(n):

if n==0:


return 1


else:

res= n*factor(n-1)

return res


n=int(input('n sonini kiriting: '))


k=int(input('k sonini kiriting: '))


nf=factor(n)


kf=factor(k)


nkf=factor(n-k)


print('Natija=',nf/(kf*nkf))


56-57.3-masala. Bir birlik uzunlik ‗-‘ ga teng. Berilgan n uzunlikdagi ‗-‘ belgidan


iborat chiziq chizuvchi dastur tuzing. Protseduradan foydalaning.


35

Dastur:

def chiziq(n):





print(('_')*n)


if 1<=n1<+5: satr+='C'*n1


if 10**(k-i)==10:


if n1==5: satr+='L'


if n1==6: satr+='LX'


Dastur:

def kvadrat(n):

for i in range(n):


print(('*')*n)


n=int(input('n sonini kiriting: '))


kvadrat(n)


if n1==7: satr+='LXX'


58.2-masala. Berilgan n sonining bo‗luvchilarini bitta qatorda probel orqali


ajratib chiqaruvchi dastur tuzing. Protseduradan foydalaning.


Dastur:

def buluvchi(n):

satr=''

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

if n%i==0: satr+=str(i)+' '


print(satr)


n=int(input('n sonini kiriting: '))


buluvchi(n)


58.3-masala. Berilgan n sonini rim raqamlarida ifodalovchi dastur tuzing.


Protseduradan foydalaning.


Dastur:

satr=''

def rim(n):


satr=''

for i in range(1,k):

n1=n//(10**(k-i))


n=n-n1*(10**(k-i))


if 10**(k-i)==1000:


satr+='M'*n1


if 10**(k-i)==100:


if n1==5: satr+='D'


if n1==6: satr+='DC'


36

if n1==7: satr+='DCC'

if n1==8: satr+='DCCC'





if n1==9: satr+='CM'


Dastur:

def hisob():

global b


global katta


if n1==8: satr+='LXXX'


if n1==9: satr+='XC'


elif 1<=n1<5: satr+='X'*n1


if n==9: satr+='IX'


if n==8: satr+='VIII'


if n==7: satr+='VII'


global kichik


if n==6: satr+='VI'


if n==5: satr+='V'


if n==4: satr+='IV'


if n==3: satr+='III'


if n==2: satr+='II'


if n==1: satr+='I'


print(satr)


n=int(input('n sonini kiriting: '))


k=len(str(n))


rim(n)

58.4-masala. Berilgan n soni xonalarining yig‗indisini hisoblash dasturini tuzing.

Protseduradan foydalaning.


Dastur:

def summa():

s=0

i=0

ns=str(n)


lenn=len(ns)


for i in range(0,lenn): s=s+int(ns[i])


print(s)


n=int(input('n sonini kiriting: '))


summa()

58.5-masala. Sport musobaqasida sportchilarning chiqishlari hakamlar tomonidan

ballik tizimda baholandi. Yakuniy ballni olish uchun eng yuqori va eng past ball


37

chiqarib tashlandi va qolgan uchta ballning o‗rtacha arifmetik qiymati hisoblandi.

5 nafar hakam tomonidan berilgan eng yuqori va eng past ballni hamda sportchi





olgan ballni chiqaradigan dastur tuzing. Funksiyadan foydalaning.


xatolik ro‗y bergani haqida xabar chiqariladi.


Global o‘zgaruvchilar – butun dastur davomida faol bo‗ladigan


o‗zgaruvchilar. Global o‗zgaruvchilar butun dastur davomida faol bo‗ladigan


o‗zgaruvchilardir. Ular qism dasturdan tashqarida, ya‘ni asosiy dasturda e‘lon


global jami


jami=jami+b


if kichik>b: kichik=b


if katta

katta=1

kichik=10

jami=0

qilinadi. Odatda, ularni modullarni import qilgandan keyin, kodning

b=1

print('Sportchi 10 balli sistemada baholanadi!')

for i in range(1,6):


print(i,'-hakam bergan ball=')


b=int(input())


hisob()

print('eng kichik ball=',kichik,', eng katta

ball=',katta)


print('Sportchi olgan ball=',(jami-kichik-katta)/3)


58.6-masala. Berilgan n soni xonalari raqamlarining sonini chiqaruvchi dastur


tuzing.

Dastur:

n=int(input('Natural son kiriting= '))


bsatr=str(n)


m=len(bsatr)


print(n,' sonidagi raqamlar soni: ',m,' ta.')


59–60-darslar. FUNKSIYALAR VA O‘ZGARUVCHILAR


Har bir o‗zgaruvchi e‘lon qilinganda, u dasturda qandaydir muhim


vazifani bajaradi va dasturning qaysidir elementlari bilan bog‗lanadi. Funksiya


ichida e‘lon qilingan o‗zgaruvchilar (lokal o‘zgaruvchilar) va funksiya


tashqarisida e‘lon qilingan o‗zgaruvchilar (global o‘zgaruvchilar) ning


ahamiyatlari ham turlicha.


Lokal o‘zgaruvchilar – faqat o‗zlari eʼlon qilingan qism dasturda faol


38

bo‗ladigan o‗zgaruvchilar. Lokal o‗zgaruvchilar faqatgina funksiya ichida

ahamiyatga ega bo‗lib, asosiy dastur va boshqa funksiyalar ichida ishlamaydi.





Shuning uchun funksiya tashqarisida lokal o‗zgaruvchiga murojaat etilganda,


def MIN4(a,b,c,d):


if a

else: k1=b


if c

boshlanishida eʼlon qilish kerak. Ularni odatiy o‗zgaruvchilar kabi chaqirish


mumkin. Agar funksiyadа global o‗zgaruvchining qiymatini o‗zgartirishgа to‗g‗ri


kelsa, u holda funksiyada ―global‖ kalit so‗zi yordamida o‗zgaruvchini yana qayta


eʼlon qilish zarur.


59-60.1-masala. n natural soni berilgan. S=1*5+2*6+3*7+. . . +n*(n+4) ifodani


hisoblash dasturini protsedura yordamida tuzing.


Dastur:

else: k2=d

def summa(a):


s=0

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

s+=i*(i+4)


print('S=',s)


n=int(input('Natural son kiriting= '))


summa(n)


59-60.2-masala. a va b natural sonlari berilgan. a va b sonlaridan kattasini topish


funksiyasini tuzing. Funksiyadan foydalanib, a, b va c sonlari ichidan kattasini


topish dasturini tuzing.


Dastur:

def IKT(a,b):

#global kattasi


if a>b: kattasi=a


else: kattasi=b


return kattasi


kattasi=0


m=int(input('Birinchi sonni kiriting= '))


n=int(input('Ikkinchi sonni kiriting= '))


k=int(input('Uchinchi sonni kiriting= '))


l=IKT(m,n)


IKT(l,k)


print('Kattasi=',IKT(l,k))


61-dars. AMALIY MASHG‘ULOT


39

61.1-masala. Berilgan to‗rtta sonning eng kichigini topuvchi dastur tuzing.

Buning uchun min4 (a, b, c, d) funksiyasini yarating.





Dastur:

b=''

a1=str(a)


for i in range(len(a1)):


b=a1[i]+b


if k1

else: kichik=k2


return kichik


a=int(input('Birinchi sonni kiriting= '))


b=int(input('Ikkinchi sonni kiriting= '))


c=int(input('Uchinchi sonni kiriting= '))


d=int(input("To'rtinchi sonni kiriting= "))


return b


print('Kichigi: ',MIN4(a,b,c,d))


61.2-masala. Berilgan a (haqiqiy) sonining k (butun) darajasini topuvchi dastur


tuzing. Buning uchun daraja (a, k) funksiyasini yarating.


Dastur:

def daraja(a,k):

nat=1

for i in range(k): nat*=a

return nat


a=float(input('Daraja asosinini kiriting= '))


k=int(input("Daraja ko'rsatkichini kiriting= "))


print('Natija: ',daraja(a,k))


61.3-masala. Inglizcha harf va raqamlardan iborat satr berilgan. Ushbu satr


qancha raqamdan iboratligini hisoblovchi dastur tuzing.


Dastur:

def raqam(a):

s=0

for i in range(len(a)):

s1=a[i]

if s1.isdigit(): s=s+1

return s


a=input('Satrni kiriting= ')


print('Raqamlar: ',raqam(a),' ta.')


61.4-masala. Berilgan sonni akslantiruvchi dastur tuzing. Masalan, 123 dan 321


40

ni hosil qiling. Funksiyadan foydalaning.

Dastur:




def aks(a):


locale Modul sonlarni formatlashda belgilangan tartibni aniqlash


muammosini hal qilish uchun qo‗llaniladi.


decimal Modul o‗nli kasr sonlari bilan ishlash va ularni yaxlitlash uchun


qo‗llaniladi.


a=int(input('Sonni kiriting= '))


print(aks(a))


61.6-masala. Tonna, kilogramm va grammlarda berilgan birlikni grammga


aylantirish funksiyasini yozing.


Dastur:

def tkg(t,k,g):

global gr


gloabal: gr=float()


gr=t*10**6+k*10**3+g


os Modul katalog va fayllar bilan ishlash uchun bir qancha


return gr


t=int(input('Tonna='))


k=int(input('Kilogram='))


g=int(input('Gramm='))


print(t,'t',k,'kg',g,'g =',tkg(t,k,g),'gramm.')


62–63-darslar. PYTHON DASTURLASH TILI KUTUBXONASI


Python dasturlash tilining standart kutubxonasi ko‗plab tayyor kod


fragmentlari (modullar, standart funksiyalar va b.) dan tarkib topgan. Python


dasturlash tilini yanada takomillashtirish uchun foydalanuvchi tomonidan


yozilgan modullarni kutubxonaning alohida qismiga yuklash ham mumkin.


Modul nomi Modul tavsifi


math Modul murakkab matematik ifodalarni hisoblash uchun


qo‗llaniladi.


random Modul tasodifiy sonlarni tanlab oladi yoki ro‗yxat


elementlarini tasodifiy tartibda joylashtiradi


tkinter Modul foydalanuvchi va dastur o‗rtasida o‗zaro aloq o‗rnatish


uchun oyna, tugmacha va boshqa grafik elementlardan


foydalanish imkonini beradi.


datetime Modul joriy sana va vaqtni ko‗rsatish hamda sanalarni


hisoblash, sanalar ustida amallar bajarish imkonini beradi.


41

socket Modul kompyuterlarni internet orqali birbiriga ulash uchun

qo‗llaniladi.





turtle Modul ekranda chiziq va figuralarni chizish uchun qo‗llaniladi.


62-63.3-masala. 10 va 10000 ning oralig‘idan 5 ta tasodifiy sonni chiqarish


dasturini tuzing.


Dastur:

from random import randint

imkoniyatlarni beradi.


copy Modul nusxalash bilan bog‗liq masalalarni hal qilishga


mo‗ljallangan.


sys Python interpretatorida dasturni bajaruvchi muhit hisoblanadi


random Modul tasodifiy sonlarni generatsiya qilishni boshqaradi.


Modullarni dasturga yuklashning uch xil usuli mavjud.


1-usul. Modul funksiyalarini yuklab olishning bu usulida murojaat etilayotgan


kod fragmentidan oldin modulning nomi ko‗rsatilishi lozim. Bunday dasturlarni


o‗qish juda oson, chunki kod qaysi modulga tegishli ekanligini tez aniqlash


mumkin.

for i in range(5):

Sintaksisi: import modul fayli nomi. (import — modulni yuklovchi kalit so‗z)


2-usul. Modul funksiyalarini yuklab olishning bu usuli uncha katta bo‗lmagan


dasturlar uchun qulay. Katta dasturlarda esa dasturni tushunish qiyin kechadi,


ya‘ni funksiya qaysi modulga taalluqli ekanligini aniqlash uchun biroz urinish


kerak bo‗ladi.


Sintaksisi: from modul fayli nomi import *


(from ... import * – modulni yuklovchi kalit so‗z)


3-usul. Moduldan faqat funksiyalarning o‗zini yuklab olish ham mumkin. Agar


dasturdan faqat bitta funksiya kerak bo‗lsa, u holda funksiyalarning barchasini


emas, kerakli funksiyaning o‗zinigina yuklab olgan ma‘qul.


Sintaksisi: from modul fayli nomi import funksiya nomi


random modulining funksiyalari


Funksiyalar Tavsifi


random(x) 0 dan 1 gacha tasodifiy sonlarni hosil qiladi.


randint(start, stop) startdan stopgacha bo‗lgan oraliqdagi tasodifiy


sonlarni hosil qiladi.


randrange(start,stop,step) qandaydir sonlar to‗plamidan startdan stopgacha


bo‗lgan oraliqda step qadami bilan tasodifiy


sonlarni hosil qiladi.


62-63.1-masala. 0 va 1 ning oralig‘idan 10 ta tasodifiy sonni chiqarish


dasturini tuzing.


Dastur:

from random import random

42

for i in range(10):

print(random())





from math import*


r=float(input('Radiusni kiriting='))


alfa=float(input('Burchak kattaligini kiriting='))


print(randint(10,10000))


62-63.4-masala. 20 va 50 ning oralig‗idan 2 qadam bilan 7 ta tasodifiy sonni


chiqarish dasturini tuzing.


L=pi*r*alfa/180


from random import randrange


for i in range(7):


print(randrange(20,50,2))


64-dars. AMALIY MASHG‘ULOT


math modulining funksyalari


Funksiyalar Tavsifi


ceil(x) Eng yaqin katta butun songacha yaxlitlaydi.


Ceil(1.5)==2, ceil(–1.5)==–1


round(x, n) x sonini nuqtadan keyin n ta belgi qolgunga qadar yaxlitlaydi.


floor(x) Eng yaqin kichik butun songacha yaxlitlaydi.


Floor(1.5)==1, floor(–1.5)== –2


round(x) x sonini yaxlitlaydi.


log(a, b) b asosga ko‗ra a logarifmini hisoblaydi.


log10(x) x sonining o‗nli logarifmini hisoblaydi.


sqrt(x) x ning kvadrat ildizini hisoblaydi.


pow(x, n) x ning n-darajasini hisoblaydi.


factorial(x) x faktorialni hisoblaydi.


abs(x) x ning modulini hisoblaydi.


cos(x) x ning kosinusini hisoblaydi.


sin(x) x ning sinusini hisoblaydi.


tan(x) x ning tangensini hisoblaydi.


acos(x) x ning arkkosinusini hisoblaydi.


asin(x) x ning arksinusini hisoblaydi.


atan(x) x ning arktangensini hisoblaydi.


degrees(x) Radiandan gradusga o‗tkazadi.


radians(x) Gradusdan radianga o‗tkazadi.


43

64.1-masala. Berilgan burchak yoyining uzunligini hisoblovchi dastur tuzing.

Yoyning burchagi (gradusda) hamda radiusi foydalanuvchi tomonidan kiritiladi.





Dastur:

ilovam‖ nomli GUI oynasini yaratuvchi dastur kodini yozing. Oynada ―Salom

O‗zbekiston‖ xabarini chiqaruvchi tugmachasini


joylashtiring.


Dastur:

print('Yoy uzunligi=',L)

64.2-masala. y = x * cos x funksiyasi qiymatini hisoblovchi dastur tuzing. x


foydalanuvchi tomonidan kiritiladi.


Dastur:

from math import*

x=float(input('x kiriting='))


y=x*cos(x)


from tkinter import *


print('y=',y)


64.3-masala. Kvadrat tenglamaning ildizlarini hisoblash dasturini tuzing. a, b, c


foydalanuvchi tomonidan kiritiladi.


Dastur:

from math import*

a=float(input('a=')); b=float(input('b=')); c=float(input('c=')); d=b*b-4*a*c


if d==0:


x=-b/2

print('x=',x)

elif d>0:


x1=(-b+sqrt(d))/2; x2=(-b-sqrt(d))/2; print('x1=',x1); print('x2=',x2)


else:

print('Yechimi yo`q')

64.5-masala. Doira sektorining yuzasini hisoblash dasturini tuzing. Doiraning


radiusi hamda sektorning burchagi (gradusda) foydalanuvchi tomonidan kiritiladi.


Dastur:

from math import*

r=float(input('Radiusni kiriting='))


alfa=float(input('Burchakni kiriting='))


S=pi*pow(r,2)*radians(alfa)/2


print('S=',S)


65–66-darslar. PYTHONDA FOYDALANUVCHI


44

GRAFIK INTERFEYSI BILAN ISHLASH






65-66.1-masala. Rangi yashil, o‗lchami 100x100 bo‗lgan ―Mening birinchi


radio4=Radiobutton(window, text='Limon', variable=meva, value='limon')


radio4.grid(row=9, column=0, sticky=W)


radio4.configure(background='yellow')


window = Tk()


window.title('Mening birinchi dasturim')


window.geometry('300x200')


window.configure(background='green')


my_label=Label(window, width=40,


radio4.select()


height=5, bg='Green', text='')


my_label.grid(row=0, column=0)


def change_text():


my_label.config(text="Salom O;zbekiston ")


my_button=Button(window,text="Tugmani bos", width=10,


command=change_text)


my_button.grid(row=2, column=0)


window.mainloop()


65-66.2-masala. Rangi pushti, o‗lchami 250x150 bo‗lgan ―Mevalar‖ nomli GUI


oynasini yaratuvchi dastur kodini yozing. Oynada


berilgan 4 ta mevadan birini tanlash imkonini beruvchi


vijetni joylashtiring.


Dastur:

from tkinter import *

window = Tk()


window.title('Mevalar')


window.geometry('250x250')





window.configure(background='')


meva=StringVar()


radio1=Radiobutton(window, text='Anor', variable=meva, value='anor')


radio1.grid(row=3, column=0, sticky=W)


radio1.configure(background='red')


radio1.select()


radio2=Radiobutton(window, text='Olma', variable=meva, value='olma')


radio2.grid(row=5, column=0, sticky=W)


radio2.configure(background='green')


radio2.select()


45

radio3=Radiobutton(window, text='Mandarin', variable=meva, value='mandarin')

radio3.grid(row=7, column=0, sticky=W)


radio3.configure(background='red')





radio3.select()


foydalanuvchi tomonidan kiritiladi.


Dastur:

from tkinter import *

Checkbutton()


window.mainloop()


67-dars. AMALIY MASHG‘ULOT


from random import randint


67.1-masala. GUIdan foydalanib, berilgan songa karrali 10 ta sonni chiqaruvchi


dastur tuzing. Berilgan son foydalanuvchi tomonidan kiritiladi.


Dastur:

from tkinter import *

from random import randint


def tasodifiy():


number=int(textbox_input.get())


textbox_output.delete(0.0,END)


for i in range (1,11):


t_son=randint(1, 10); t_son=t_son*number;


t_son=str(t_son)+'\n'


textbox_output.insert(END,t_son)


window=Tk()


window.title('Karrali sonlar')


window.geometry('250x300')





window.configure(background='yellow')


input_label=Label (window, text='Sonni kiriting: ', bg='yellow')


input_label.grid (row=0, column=0)


output_label=Label(window, text='\nNatija', bg='yellow')


output_label.grid(row=3, column=1)


textbox_input=Entry (window, width=5)


textbox_input.grid (row=0, column=1)


textbox_output=Text(window,height=10, width=6)


textbox_output.grid(row=4, column=1)


kubik_button=Button(window,text='Karrali sonlarni


chiqarish',command=tasodifiy)


kubik_button.grid(row=3,column=1)


window.mainloop()


46

67.2-masala. GUIdan foydalanib, berilgan

songa karrali sonlarni chiqaruvchi dastur








tuzing. Berilgan son va karrali sonlarning soni


1-masala. O‗nli sanoq sistemasidagi butun sonni boshqa sanoq sistemasiga


o‗tkazadigan dastur tuzing.


Dastur kodi:


def tasodifiy():


number1=int(textbox_input1.get())


number2=int(textbox_input2.get())


textbox_output.delete(0.0,END)


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


n=int(input('N natural sonni kirirting='))


t_son=randint(1, 10)


t_son=t_son*number1


t_son=str(t_son)+'\n'


textbox_output.insert(END,t_son)


window=Tk()


window.title('Karrali sonlar')


window.geometry('350x300')


window.configure(background='yellow')


input_label=Label (window, text='Sonni kiriting: ', bg='yellow')


input_label.grid (row=0, column=0)


input_label=Label (window, text='Karrali sonlar miqdori: ', bg='yellow')


input_label.grid (row=1, column=0)


output_label=Label(window, text='\nNatija', bg='yellow')


output_label.grid(row=3, column=1)


textbox_input1=Entry (window, width=5)


textbox_input1.grid (row=0, column=1)


textbox_input2=Entry (window, width=5)


textbox_input2.grid (row=1, column=1)


textbox_output=Text(window,height=10, width=6)


textbox_output.grid(row=4, column=1)


kubik_button=Button(window,text='Karrali sonlarni


chiqarish',command=tasodifiy)


kubik_button.grid(row=3,column=1)


window.mainloop()


47

Ilovalar



I. Olimpiada masalalaridan namunalar


Dastur kodi:


for a in range(1,10):


for b in range(1,10):


for c in range(1,10):


k=int(input("Berilgan sonni o'tkazish kerak bo'lgan sanoq sistemasining asosi="))


s=''; s1=''


while n>=k:


q=n%k

if n

if q==13: s1='D'; if q==14: s1='E'; if q==15: s1='F'


s=s1+s; n=n//k; s=str(n)+s


print()

if 11*(a+b)==101*c+10*b: print('A=',a,'; B=',b,'; C=',c)

print('Kiritilgan sonning ',k,' lik sanoq sistemasidagi ifodasi: ',s)


2-masala. Kiritilgan so‗zning polindrom yoki polindram emasligini aniqlovchi


dastur tuzing.


Dastur kodi:


a=input('Matnni kiriting=')


n=len(a); s=" "


for i in range(0,n):


s=a[i]+s


print("Teskarilangan so'z=",s)


if a==s:


print(a," so'zi polindrom")


else:

print(a," so'zi polindrom emas")

3-masala. Berilgan [A; B] kesmadagi barcha tub sonlarni aniqlovchi dastur


tuzing.

Dastur kodi:

from math import*


a=int(input('A sonini kiriting A=')); b=int(input('B sonini kiriting B='))


for i in range(a,b+1): k=0; if i==2: print(2); if i==3: print(3); n1=int(sqrt(i))+1


for j in range(2,n1):


if i%j==0: k=0; break


else: k=1


if k==1: print(i,'; ')


48

CBCCBC

4-masala. += (bunda, va—ikki xonali sonlar, esa


AABBAABB




uch xonali son) bo‗lsa, A, B, C raqamlarni toping.


if 89

if 1<=n<=3: print(n1+'I'*n)


if n==4: print(n1+'IV')


5-masala. *m= (bunda, m — bir xonali son, —to‗rt xonali son,


mateatikamate


if n==5: print(n1+'V')


esa besh xonali son) bo‗lsa, a,i,e,k,m,t raqamlarni toping.


atika

Dastur kodi:

for a in range(1,10):


for i in range(0,10):


for e in range(0,10):


for k in range(0,10):


for m in range(1,10):


for t in range(0,10):


if (1000*m+100*a+10*t+e)*m==10001*a+1000*t+100*i+10*k:


if 5

print('a=',a,'; i=',i,'; e=',e,'; k=',k,'; m=',m,'; t=',t)


6-masala. Kiritilgan satrdagi lotin alifbosi harflaridan boshqa barcha belgilarni


o‗chirib chiqaruvchi dastur tuzilsin.


Dastur kodi:


a=input('Satr=')


s=''

k=len(a)

for i in range(0,k):


if ('a'<=a[i]<='z') or ('A'<=a[i]<='Z'): s+=a[i]


print(s)


7-masala. Kiritilgan 1 dan 99 gacha bo‗lgan natural sonlarni rim raqamlarida


tasvirlab beruvchi dastur tuzing.


Dastur kodi:


n=int(input('n(1 dan 99 gacha)='))


n1=''

if 9

if 19

if 29

if 39

if 49

49

if 59

if 69



if 79

print('Max='+str(max), '; Min='+str(min))


2-usul.

if n==9: print(n1+'IX')

8-masala. Quyidagicha to‗plamlar ketma-ketligi berilgan:


{1},{2;3},{4;5;6};{7;8;9;10}, … .


a=[]

n-to‗plamdagi sonlar yig‗indisini hisoblash dasturini tuzing.

Dastur kodi:


n=int(input('N ning qiymatini kiriting='))


s=0

n1=int((n-1)*n/2+1)

for i in range(n1,n1+n): s=s+i


print('S=',s)


9-masala:


Berilgan haqiqiy x soni uchun quyidagi A butun qiymat qabul


qiluvchi funksiya qiymatini hisoblaydigan dastur tuzing.


n=int(input('Elementlar soni='))





;')0;(,19lsabotegishlioraliqqasonixagar

• ;'...),15;12[),9;6[),3;0[,2lsabotegishlioraliqqasonixagarA


• ;'...),18;15[),12;9[),6;3[,2lsabotegishlioraliqqasonixagar


• Dastur kodi:


x=float(input('x='))


if x<0: y=19


elif x//3%2==0: y=2


else: y=-2


print('y=',y)


10-masala. A(N) massivning eng katta va eng kicik elementlarini aniqlovchi


dastur tuzilsin.


Dastur kodi:


1-usul.

a=[]

n=int(input('Elementlar soni='))


for i in range(0,n):


a.append(int(input('element=')))


max=a[0]; min=a[0];


50

for k in range(1,n):

if a[k]>max: max=a[k];





if a[k]

print('Dastlabki massiv')


for i in range(n):


for j in range(n):


for i in range(0,n):


a.append(int(input(str(i)+'-elementni kiriting=')))


max=max(a); min=min(a)


print('max='+str(max),'; min='+str(min))


print(c[i][j],end=' ')


11-masala. A(N) chiziqli massiv elementlarini o‗sish yo‗nalishida tartiblovchi


dastur tuzilsin.


Dastur kodi:


1-usul.

a=[]

n=int(input('Elementlar soni='))


for i in range(0,n):


a.append(int(input('element=')))


k=1; m=0


while k==1:


k=0

for i in range(1,n):

if a[i-1]>a[i]: m=a[i-1]; a[i-1]=a[i]; a[i]=m; k=1


for i in range(0,n):


print(a[i],'; ')


2-usul.

a=[]

n=int(input('Elementlar soni='))


for i in range(0,n):


a.append(int(input(str(i)+'-elementni kiriting=')))


a.sort()


print(a)


12-masala. A[N,N] jadval elementlari 0 va 7 raqamlaridan iborat. Undagi 0 larni


7 ga va 7 larni 0 ga almashtiruvchi dastur tuzing.


Eslatma. Shartdan foydalanish mumkin emas!!!


Dastur kodi:


51

from random import*

n=int(input('satrlar va ustunlar soni N='))


c=[[7*randint(0,1) for i in range(n)] for j in range(n)]





print()

satr faqat raqamlardan iboratligini tekshiradi.

S.isdigit()


satr faqat harflardan iboratligini tekshiradi.


S.isalpha()


satr faqat raqamlar va harflardan iboratligini


S.isalnum()


print()

print()

print("O'zgartirilgan massiv")


for i in range(n):


for j in range(n):


c[i][j]=abs(c[i][j]-7)


tekshiradi.


print(c[i][j],end=' ')


print()

II. Ba’zi standart funksiya va protseduralar

–х Ishorani almashtirish;


+х Ishora o‗zgarmaydi;


abs(x) x ning moduli;


int(x) Butun turga almashtirish;


long (х) Butun (uzun) turga almashtirish;


float(x) Qo‗zg‗aluvchi vergulli turga almashtirish;


divmod (х, у) (х / у, х % у) juftlikni aniqlash;


х in s 1 ga teng, agar x


• s, 0 ga teng, agar x


• s;

х not in s 1 ga teng, agar x

• s, 0 ga teng, x


• s;

min (s) Eng kichik elementni aniqlaydi;

max(s) Eng katta elementni aniqlaydi;


III. Satrlar bilan ishlash funksiya metodlari


S.find(str, [start],[end]) satrdan satr ostini izlash. Birinchi uchragan raqamni


yoki –1 ni qaytaradi.


S.rfind(str, [start],[end]) satrdan satr ostini izlash. Oxirgi uchragan raqamni


yoki –1 ni qaytaradi.


S.index(str, [start],[end]) satrdan satr ostini izlash. Birinchi uchragan raqamni


yoki ValueErrorni qaytaradi.


S.rindex(str, [start],[end]) satrdan satr ostini izlash. Oxirgi uchragan raqamni


52

yoki ValueErrorni qaytaradi.

S.replace(shablon, o‗rniga) shablonni almashtirish.





S.split(simvol) bo‗linish belgisi bo‗yicha satrni bo‗lish.


Rejim Ma’nosi


'r' O‗qish uchun ochish (boshqa holat ko‗rsatilmasa, odatiy hol hisoblanadi)


satr faqat quyi registrdagi belgilardan iboratligini


S.islower()


tekshiradi.


satr faqat yuqori registrdagi belgilardan iboratligini


S.isupper()


'w' Yozish uchun ochish, faylning tarkibi o‗chiriladi, agar bunday fayl mavjud


tekshiradi.


satr aks ettirilmaydigan simvollardan iboratligini


S.isspace()


tekshirish (bo‗sh joy, sahifa o‗tkazish belgisi (‗f‘),


―yangi satr‖ (‗\n‘), ―karetkani ko‗chirish‖ (‗\r‘),


―gorizontal tabulyatsiya‖ ‗\t‘ hamda ―vertikal


tabulyatsiya‖ ‗\v‘ ).


satrdagi so‗zlarning bosh harflardan


S.istitle()


boshlanganligini


bo‗lmasa, yangisi yaratiladi


tekshiradi.


satrni yuqori registrga aylantirish.


S.upper()


satrni quyi registrga aylantirish.


S.lower()


lstrip([chars]) satr boshidagi bo‗sh joylarni o‗chirish.


S.rstrip([chars]) satr oxiridagi bo‗sh joylarni o‗chirish.


S.strip([chars]) satr boshidagi va oxiridagi bo‗sh joylarni o‗chirish.


quyi registr simvollarini yuqori registrga va


swapcase()


aksincha, yuqori registr simvollarini quyi registrga


aylantiradi.


har bir so‗zning birinchi harfini yuqori registrga,


S.title()


qol- ganlarini esa quyi registrga o‗tkazadi.


S.z1ll(width) satrning uzunligini satr boshiga keraklicha nollar


bilan to‗ldirilgan holda widthdan kalta bo‗lmagan


holatga o‗tkazadi.


S.ljust(width, fillchar=‛ ‛) satrning uzunligini satr oxirida keraklicha fillchar


bel- gilari bilan to‗ldirilgan holda widthdan kalta


bo‗lmagan holatga o‗tkazadi.


S.rjust(width, fillchar=‛ ‛) satrning uzunligini satr boshida keraklicha fillchar


belgilari bilan to‗ldirilgan holda widthdan kalta


bo‗lmagan holatga o‗tkazadi.


53

IV. Pythonda fayllar bilan ishlash

Faylni ochish: f = open('fayl nomi', 'rejim');


Faylni yopish:


f.close()





• KeyError – mavjud bo‗lmagan kalit (lug‗at, obyekt yoki boshqa to‗plamda).


* MemoryError – xotira yetishmovchiligi.


* NameError – ko‗rsatilgan nomdagi o‗zgaruvchi topilmadi.


• UnboundLocalError – funksiyadagi lokal o‗zgaruvchiga murojaat qilingan, ammo bu


'x' Yozish uchun ochish, agar bunday fayl mavjud bo‗lmasa, noodatiy holat


yuzaga keladi


'a' Qo‗shimcha yozish uchun ochish. Qo‗shilayotgan ma‘lumot faylning oxiriga


qo‗shiladi


'b' Ikkilik rejimda ochish


't' Matnli rejimda ochish(boshqa holat ko‗rsatilmasa, odatiy hol hisoblanadi)


'+' O‗qish va yozish uchun ochish


o‗zgaruvchi oldindan e‘lon qilinmagan.


V. Pythonda xatolik xabarlari


• BaseException – barcha boshqa noodatiy holatlarning asosi bo‗lgan bazaviy noodatiy


holat.

— SystemExit – dasturdan chiqish paytida sys.exit funksiyasi tomonidan yuzaga keltiril-

adigan noodatiy holat.


— KeyboardInterrupt – foydalanuvchi tomonidan dastur ishi to‗xtatilganda (odatda,


Ctrl+C kombinatsiyasi orqali) yuzaga keladi.


— GeneratorExit – generator obyektining close metodiga murojaat qilinganda yuzaga


keladi.

— Exception – mana bu yerda esa sistemaning noodatiy holatlari yakuniga yetdi (ularga

yaxshisi tegmagan ma‘qul) hamda ular bilan ishlash mumkin bo‗lgan oddiylari boshla-


nadi.

* StopIteration – agar iteratorda boshqa element qolmagan bo‗lsa, u holda next ichki

funksiyasi tomonidan yuzaga keltiriladi.


* ArithmeticError – arifmetik xatolik


• FloatingPointError – suzivchi vergul ustida xato amal bajarilganda yuzaga keladi.


Amaliyotda juda kam uchraydi.


• OverflowError – arifmetik amalning natijasini ko‗rsatish uchun haddan tash- qari katta


bo‗lib ketganda yuzaga keladi. Butun sonlar bilan ishlash kabi oddiy holatlarda yuzaga


kelmaydi, chunki Python uzun sonlar bilan ishlash imkoniyatiga ega. Ammo ba‘zi boshqa


holatlarda yuzaga kelishi mumkin.


• ZeroDivisionError – nolga bo‗lish.


* AssertionError – assert funksiyasidagi iborat yolg‗on.


* AttributeError – obyekt ko‗rsatilgan atribut (qiymat yoki metod)ga ega emas.


* BufferError – bufer bilan bog‗liq operatsiyani bajarishning imkoni yo‗q.


* EOFError – funksiya faylning oxiriga taqalib qoldi va izlagan ma‘lumotini o‗qiy


54

olmadi.

* ImportError – modul yoki uning atributini import qilib bo‗lmadi.


* LookupError – noto‗g‗ri indeks yoki kalit.





• IndexError – index elementlar diapazoniga kirmaydi.


And del for is raise assert elif from lairbda return


break else global not try class except if or while


* OSError – sistema bilan bog‗liq xatolik.


• BlockingIOError – kiritish-chiqarish bilan bog‗liq xatolik.


• ChildProcessError – quyi darajadagi jarayon bilan bog‗liq xatolik.


• ConnectionError – aloqa bilan bog‗liq noodatiy holatlar uchun bazaviy klass.


• BrokenPipeError – kanalga yozishga urinish vaqtida kanalning ikkinchi uchi yopiq


bo‗lgan hollarda yuzaga keladi.


• ConnectionAbortedError – aloqa tuguni tomonidan yakunlanish vaqtida yuzaga


keladi.

• ConnectionRefusedError – tugunning aloqani rad etishi natijasida yuzaga keladi.

• ConnectionResetError – tugun tomonidan ulanish uzib qo‗yilganda yuzaga keladi.


• FileExistsError – oldindan mavjud bo‗lgan fayl yoki papkani yaratishga urinish davrida


yuzaga keladi.


• FileNotFoundError – fayl yoki papka mavjud emas.


• InterruptedError – tizim so‗rovi kiruvchi signal tomonidan uzib qo‗yilgan.


• IsADirectoryError – fayl kutilayotganda, papka kelganda yuzaga keladi.


• NotADirectoryError – papka kutilayotganda, fayl kelganda yuzaga keladi.


• PermissionError – boshqarish huquqlari yetishmaydi.


• ProcessLookupError – ko‗rsatilgan jarayon mavjud emas..


• TimeoutError – kutish vaqti nihoyasiga yetdi.


* ReferenceError – kuchsiz havolali atributga murojaat qilishga urinish.


* RuntimeError – noodatiy holat boshqa birorta ham shunday holatlarga mos kel-


maganda yuzaga keladi.


* NotImplementedError – klassning abstrakt metodlar o‗z bo‗ysinuvidagi boshqa


klasslarda qayta aniqlashni talab qilganda yuzaga keladi.


* SyntaxError – sintaktik xatolik.


• IndentationError – xato bo‗sh joy tashlashdan iborat (siljishlar).


• TabError – siljishlarda bo‗sh joy tashlash hamda tabulyatsiya belgilarining


aralashtirilishi.


* SystemError – ichki xatolik.


* TypeError – amal mos kelmaydigan tipli obyektga nisbatan qo‗llanilgan.


* ValueError – funksiya to‗g‗ri tipli, lekin xato qiymatli argument olganda yuzaga


keladi.

* UnicodeError – unikod satrlarning xato kodlanishi/dekodlanisi bilan bog‗liq xato- lik.

• UnicodeEncodeError – unikod kodlash bilan bog‗liq xatolik.


• UnicodeDecodeError – inikod dekodlash bilan bog‗liq xatolik.


• UnicodeTranslateError – unikod tarjimasi bilan bog‗liq xatolik.


* Warning – ogohlantirish.


55




VI. Pythonda foydalanish mumkin bo‘lmagan nom (identifikator) lar


Pythonda ma‘lumot turlari ……………………………………………………….. 5


Amaliy mashg‗ulot ……………………………………………………………….. 6


Nazorat ishi ……………………………………………………………………….. 8


Pythonda arifmetik amallarni bajarish …………………………………………… 8


Amaliy mashg‗ulot ……………………………………………………………….. 9


Foydalanilgan adabiyotlar


1. Informatika va axborot texnologiyalari: Umumiy o‗rta ta‘lim maktablarining


9-sinfi uchun darslik: M. R. Fayziyeva, D. M. Sayfurov, N. S. Xaytullayeva –


Тoshkent-2020.


2. Python dasturlash tili. Saidov D.Yu. – Toshkent-2019


3. Python. Наиболее полное руководство. Сузи Р.А. – Петербург-2002


4. Изучаем Python. Лутц М. Санкт-Петербург-2009


5. Python на примерах. Васильев А.Н. Санкт-Петербург-2016


6. Глубокое обучение на Python. Шолле Ф. Санкт-Петербург-2018


7. Viloyat va tuman fan olimpiadalari materillari (2010-2018).


Internet manbalari:


1. PDFDrive.com


2. ZiyoNET.uz


3. Python.org


56

Mundaruja

I. DASTURLASH ASOSLARI





Pythonda o‗zgaruvchilarni tavsiflash …………………………………………….. 3


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


Pythonda satrlar bilan ishlash …………………………………………………….. 12


Amaliy mashg‗ulot ……………………………………………………………….. 13


Pythonda operator va ifodalar ……………………………………………………. 15


Amaliy mashg‗ulot ……………………………………………………………….. 16


Pythonda sodda masalalarni dasturlash …………………………………………... 17


Amaliy mashg‗ulot ……………………………………………………………….. 18


Tarmoqlanuvchi algoritmlarni dasturlash. If…Else operatori …………………… 21


Amaliy mashg‗ulot ……………………………………………………………….. 22


____________________________________________________________


Tarmoqlanuvchi algoritmlarni dasturlash. Elif operatori ………………………… 23


Amaliy mashg‗ulot ……………………………………………………………….. 24


Takrorlanuvchi algoritmlarni dasturlash. For operatori …………………………... 27


Amaliy mashg‗ulot ……………………………………………………………….. 28


Nazorat ishi ……………………………………………………………………….. 29


Takrorlanuvchi algoritmlarni dasturlash. While operatori ……………………….. 31


Amaliy mashg‗ulot ………………………………………………………………. 32


Sikllarni boshqarish: Continue, Break operatorlari ……………………………….. 33


Qism dasturlar: Funksiyalar va Protseduralar …………………………………….. 34


Amaliy mashg‗ulot ………………………………………………………………... 34


Funksiyalar va o‗zgaruvchilar …………………………………………………….. 37


Amaliy mashg‗ulot ……………………………………………………………… 38


Python dasturlash tili kutubxonasi ………………………………………………... 40


Amaliy mashg‗ulot ………………………………………………………………... 42


Pythonda foydalanuvchi grafik interfeysi bilan ishlash …………………………... 43


Amaliy mashg‗ulot ………………………………………………………………... 44


II. ILOVALAR


Olimpiada masalalaridan namunalar ……………………………………………… 47


Ba‘zi standart funksiya va protseduralar ………………………………………….. 52


Satrlar bilan ishlash funksiya metodlari …………………………………………... 52


Pythonda fayllar bilan ishlash …………………………………………………… 53


Pythonda xatolik xabarlari ……………………………………………………….. 54


Pythonda foydalanish mumkin bo‗lmagan nom (identifikator) lar ……………… 55


Qaydlar uchun


57

____________________________________________________________



____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


____________________________________________________________


58




59




Chust-2020


© Tashov M.J


60

60,1,58,3,56,5,54,7,52,9,50,11,48,13,46,15,44,17,42,19,40,21,38,23,36,25,34,27,32,29

30,31,28,33,26,35,24,37,22,39,20,41,18,43,16,45,14,47,12,49,10,51,8,53,6,55,4,57,2,59








Download 408.46 Kb.

Do'stlaringiz bilan baham:




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