logo

PTHYTON MUHITIDA CHIZIQLI, TARMOQLANUVCHI, TAKRORLANUVCHI,MASSIVLAR,FUNKSIYALAR VA GRAFIKAGA OID DASTUR TUZISH

Yuklangan vaqt:

08.08.2023

Ko'chirishlar soni:

0

Hajmi:

291.1162109375 KB
PTHYTON MUHITIDA CHIZIQLI, TARMOQLANUVCHI,
TAKRORLANUVCHI,MASSIVLAR,FUNKSIYALAR VA    GRAFIKAGA OID
DASTUR TUZISH
REJA:
Reja KIRISH:
. Python dasturlash tili uzoq tarixga bormasada, lekin uning rivojlanishi  hozirgi vaqtda
eng   istiqbolli   sohalardan   hisoblanadi.   Python   dasturlash   tili   o‘tgan   asrning   80-yillari
oxirlarida   ishlab   chiqila   boshlandi.   Gido   Van   Rossum   Python   dasturlash   tilini   1980-
yillarda   yaratgan   va   u   til   9   yildan   so‘ng,   ya’ni   1989   yil   dekabrda   Gollandiyadagi
matematika   va   informatika   laboratoriya   markazida   ishlab   chiqilgan.   Python   istisno
holatlarini   ko‘rib   chiqishga   va   Amoeba   operatsion   tizimiga   ta’sir   ko‘rsatishga   qodir
bo‘lgan   ABC   dasturlash   tilining   avlodi   hisoblanadi.   Van   Rossum   Pythonning   asosiy
muallifidir va u 2018 yilgacha tilni rivojlantirish bo‘yicha bir qancha ishlar olib borgan.
Python   dasturlash   tili   boshqa   dasturlash   tillaridan   farqli   ravishda,   mukammal   darajada
ishlab   chiqilgan.   Python   dasturlash   tili,   boshqa   dasturiy   vositalarni   boshqarish   va
ularning tarkibiy qismlarini mustaqil boshqarishni amalga oshiradi. Aslida, Python ko‘p
maqsadli   dasturlash   tili   sifatida   o‘rganilishi   mumkin,   bu   dasturlash   tili   yordamida   bir
qancha   jarayonlarni   dasturlash   imkoni   yaratiladi.  Python   dasturlash   tilida,  bir   vaqtning
o‘zida, boshqa dasturlash tillaridan farqli ravishda, bir nechta turdagi  dasturlar yaratish
inkoniyati   mavjud,   ya’ni:   -   amaliy   dasturiy   maxsulotlar;   -   web   ilovali   dasturiy
maxsulotlar;   -   ilmiy   dasturiy   maxsulotlar   yaratish   imkonini   beradi.   Python   tarkibida
xotiradan   foydalanish   va   ishlash   talablari   bo‘yicha   cheklovlar   mavjud   emas,   ya’ni
imkoniyatlar shu qadar kattaki, boshqa dasturlash tillari kabi ma’lumotlarni e’lon qilish
tabaqasi   mavjud   emas.   Bunday   imkoniyatlar,   albatta,   dastur   yaratuvchilar   ish   faoliyati
samaradorligini keskin ortishiga xizmat qiladi.
Python tilida dasturlash asoslari
Axborot   texnologiyalarini   rivojlanishining   asosiy   bo‘g‘ini   bu   algoritmlash
jarayonidir. Biror bir masala yoki muommoni elektron hisoblash mashinasida hisoblash
uchun, albatta, berilgan masalani matematik modeli, algoritmi va biror bir algoritmlash
tili asosida dasturini yaratish kerak bo‘ladi. Muommo yoki masalani matematik modelini
tuzish  deganda  berilgan  masalani  matematik  tushunchalar   bilan ifodalanishiga  aytiladi.
Muommo   yoki   masalani   yechish   qadamlari   albatta   algoritm   bilan   bog‘liqdir.   Algoritm so‘zi   va   tushunchasi   IX   asrda   yashab   ijod   etgan   buyuk   vatandoshimiz   alloma
Muhammad al-Xorazmiy nomi bilan uzviy bog‘liq. Algoritm so‘zi Al-Xorazmiy nomini
Yevropa olimlari tomonidan o‘zgacha talaffuz qilinishidan yuzaga kelgan. Al-Xorazmiy
birinchi   bo‘lib   o‘nlik   sanoq   sistemasining   tamoyillarini   va   undagi   to‘rtta   amallarni
bajarish   qoidalarini   asoslab   bergan.   Masala   yoki   muommoni   hal   etish   uchun   yuqorida
keltirib o‘tilgandek, uni  algoritmini  tuzish  kerak bo‘ladi. Ta’rif:  Algoritm-  bu biror  bir
masala yoki muommoni hal etish uchun kerak bo‘lgan chekli sondagi buyruqlar ketma-
ketligi.   Masala   algoritmini   tuzish   tartibini   quyidagi   masala   orqali   ko‘rib   chiqamiz.
Misol.   a,b,c   uchburchakning   yuzasini   hisoblash   algoritmi   tuzilsin   1.   a,b,c   kesmalar
kiritilsin; 9 2. Berilgan kesmalar yordamida P=(a+b+c)/2 hisoblansin; 3. S   p( p   a)( p   b)
(   p     c)   hisoblansin.   Demak,   masalani   yechish   ketmaketligini   algoritm   sifatida   qarash
mumkin. Algoritmning tasvirlash usullari Masala  algoritmini tuzish vaqtida, bu masala
qanday   sohaga   tegishliligiga   qarab   algoritm   bir   necha   xil   ko‘rinishda   tasvirlanishi
mumkin.   Algoritmlarni   bir   nechta   tasvirlash   usullari   mavjud.   Iqtisodiy   masalalar
algoritmi   jadvallar   ko‘rinishida,   matematik   masalalar   formula   yoki   grafik   usullarda   va
sanoatda   esa   so‘zlar   yordamida   tasvirlanish   mumkin.   1.Algoritmning   so‘zlar   orqali
ifodalanishi.   Bu   usulda   ijrochi   uchun   beriladigan   har   bir   ko‘rsatma,   jumlalar,   so‘zlar
orqali   buyruq   shaklida   beriladi.   Misol.   To‘g‘ri   to‘rtburchakning   yuzasi   va   peremetrini
hisoblash   algoritmi   tuzilsin.   1.   boshlanish   2.   a,b   lar   kiritilsin;   3.   S=ab   va   P=2(a+b)
hisoblansin;   4.   S   va   P   chiqarilsin;   5.   Tamom.   2.Algoritmlarning   grafik   shaklida
tasvirlanishida   algoritmlar   maxsus   geometrik   figuralar   yordamida   tasvirlanadi   va   bu
grafik   ko‘rinishi   blok-sxema   deyiladi.   Algoritmning   blok-sxema   ko‘rinishida
tasvirlanishi   beriladigan   buyruqlar   qandaydir   shakllar   orqali   ifodalanadi.   Algoritmning
blok-sxemalar   yordamida   tuzishda   foydalaniladigan   asosiy   sodda   geometrik   figuralar
quyidagilardan iborat. – Ellips u algoritmning boshlanishi yoki tugallashini belgilaydi; –
To‘g‘ri   burchakli   to‘rtburchak,   qiymat   berish   yoki   tegishli   ko‘rsatmalarni   bajarish
jarayonini   belgilaydi;   10   –   Parallelogramm,   ma’lumotlarni   kiritish   yoki   chiqarishni
belgilaydi.   –   Yordamchi   algoritmga   murojatni   belgilaydi.   –   Romb,   shart   tekshirishni
belgilaydi va shart bajarilsa "ha", tarmoq bo‘yicha, aks holda "yo‘q”-tarmog‘i bo‘yicha amallar   bajarilishini   ta’minlaydi.   -   Strelka   -   amallar   ketma-ketligining   bajarilish
yo‘nalishini ko‘rsatadi. Yuqorida ko‘rilgan algoritmlarning tasvirlash usullarining asosiy
maqsadi - qo‘yilgan masalani yechish uchun zarur bo‘lgan amallar ketmaketligining eng
qulay   holatini   aniqlash   va   shu   bilan   foydalanuvchi   tomonidan   programma   yozishni
yanada   osonlashtirishdan   iborat.   Aslida   programma   ham   algoritmning   boshqa   bir
ko‘rinishi   bo‘lib,   u   insonning   kompyuter   bilan   muloqotini   qulayroq   amalga   oshirish
uchun   mo‘ljallangan.   Misol.   Teng   yonli   uchburchakning   tomonlari   berilganda   uning
yuzi va perimetrini topish algoritm blok-sxemasini yozing
Algoritmning xossalari Masala yoki mummoni hal etish jarayoni uchun keltirilgan
algoritmlar ma’lum bir xususiyatlarga bo‘ysinish kerak. Bu xususiyatlarni e’tiborga olib
algoritmlar   quyidagi   xossalarga   ega.   1.Diskretlilik   (Cheklilik).   Bu   xossaning   mazmuni
algoritmlarni doimo chekli qadamlardan iborat qilib bo‘laklash imkoniyati mavjudligida.
Ya’ni, uni chekli  sondagi oddiy ko‘rsatmalar  ketma-ketligi shaklida ifodalash mumkin.
Agar   kuzatilayotgan   jarayonni   chekli   qadamlardan   iborat   qilib   qo‘llay   olmasak,   uni
algoritm deb bo‘lmaydi. 2.Tushunarlilik. Biz kundalik hayotimizda berilgan algoritmlar
bilan ishlayotgan elektron soatlar, mashinalar, dastgohlar, kompyuterlar, turli avtomatik
va   mexanik   qurilmalarni   kuzatamiz.   Ijrochiga   tavsiya   etilayotgan   ko‘rsatmalar,   uning uchun   tushunarli   mazmunda   bo‘lishi   shart,   aks   holda   ijrochi   oddiygina   amalni   ham
bajara   olmaydi.   Undan   tashqari,   ijrochi   har   qanday   amalni   bajara   olmasligi   ham
mumkin.   Har   bir   ijrochining   bajarishi   mumkin   bo‘lgan   ko‘rsatmalar   yoki   buyruqlar
majmuasi   mavjud,   u   ijrochining   ko‘rsatmalar   tizimi   deyiladi.   Demak,   ijrochi   uchun
berilayotgan har bir ko‘rsatma ijrochining ko‘rsatmalar tizimiga mansub bo‘lishi lozim.
Ko‘rsatmalarni   ijrochining   ko‘rsatmalar   tizimiga   tegishli   bo‘ladigan   qilib   ifodalay
bilishimiz   muhim   ahamiyatga   ega.   Masalan,   quyi   sinfning   a’lochi   o‘quvchisi   "son
kvadratga   oshirilsin"   degan   ko‘rsatmani   tushunmasligi   natijasida   bajara   olmaydi,   lekin
"son   o‘zini   o‘ziga   ko‘paytirilsin"   shaklidagi   ko‘rsatmani   bemalol   bajaradi,   chunki   u
ko‘rsatma   mazmunidan   ko‘paytirish   amalini   bajarish   kerakligini   anglaydi.   3.Aniqlik.
Ijrochiga   berilayotgan   ko‘rsatmalar   aniq   mazmunda   bo‘lishi   zarur.   Chunki
ko‘rsatmadagi   noaniqliklar   mo‘ljaldagi   maqsadga   erishishga   olib   kelmaydi.   Odam
uchun   tushunarli   bo‘lgan   "3-4   marta   silkitilsin",   "5-10   daqiqa   qizdirilsin",   "1-2   qoshiq
solinsin",   "tenglamalardan   biri   yechilsin"   kabi   noaniq   ko‘rsatmalar   robot   yoki
kompyuterni   qiyin   ahvolga   solib   qo‘yadi.   Bundan   tashqari,   ko‘rsatmalarning   qaysi
ketma-ketlikda   bajarilishi   ham   muhim   ahamiyatga   ega.   Demak,   ko‘rsatmalar   aniq
berilishi   va   faqat   algoritmda   ko‘rsatilgan   tartibda   bajarilishi   shart   ekan.   12
4.Ommaviylik.   Har   bir   algoritm   mazmuniga   ko‘ra   bir   turdagi   masalalarning   barchasi
uchun   ham   o‘rinli   bo‘lishi   kerak.   Ya’ni   masaladagi   boshlang‘ich   ma’lumotlar   qanday
bo‘lishidan   qat’iy   nazar   algoritm   shu   xildagi   har   qanday   masalani   yechishga   yaroqli
bo‘lishi   kerak.   Masalan,   ikki   oddiy   kasrning   umumiy   mahrajini   topish   algoritmi,
kasrlarni   turlicha   o‘zgartirib   bersangiz   ham   ularning   umumiy   mahrajlarini   aniqlab
beraveradi.   Yoki   uchburchakning   yuzini   topish   algoritmi,   uchburchakning   qanday
bo‘lishidan   qat’iy   nazar,   uning   yuzini   hisoblab   beraveradi.   5.Natijaviylik.   Har   bir
algoritm   chekli   sondagi   qadamlardan   so‘ng   albatta,   natija   berishi   shart.   Bajariladigan
amallar   ko‘p   bo‘lsa   ham   baribir   natijaga   olib   kelishi   kerak.   Chekli   qadamdan   so‘ng
qo‘yilgan   masala   yechimga   ega   emasligini   aniqlash   ham   natija   hisoblanadi.   Agar
ko‘rilayotgan   jarayon   cheksiz   davom   etib   natija   bermasa,   uni   algoritm   deb   atay
olmaymiz.   Tuzilayotgan   algoritmlar   doimo   bir   xil   yo‘nalishlarda   bo‘lmaydi.   Masala yoki muommoni  hal  etish ma’lum  bir algoritm  bo‘yicha amalga oshiradi. Masalalar  va
ularning algoritmlari ham ma’lum bir turlarga bo‘linadi. Har qanday murakkab masalani
ham   uchta   asosiy   strukturaga   keltirish   mumkin.Algoritmlarni   umumlashtirgan   holda
quyidagi   turlarga   ajratamiz:   -   Chiziqli   algoritmlar;   -   Tarmoqlanuvchi   algoritmlar;   -
Takrorlanuvchi algoritmlar.
Chiziqli algoritmlar
  Masalani   hal   etish   uchun   tuzilgan   algoritm   tarkibidagi   buyruqlar   ketma   ketligi
uzluksiz   bo‘lishi   mumkin   yoki   qandaydir   holatlarda   shartlar   asosida   uzluksizlik
tarqatilishi   mumkin.   Chiziqli   algoritmlarda   esa   buyruqlar   ketma-ketligi   doim   uzluksiz
bo‘ladi. Tarif: Algoritm bajarilish vaqtida hech qanday to‘siqqa uchramasdan buyruqlar
ketma-ketligi   uzluksiz   bajarilsa   bunday   algoritmlar   chiziqli   algoritm   deyiladi.   Demak,
algoritm  bajarilishida  hech   qanday  shart  bo‘lmaslik  va  uzluksizlik   yo‘qolmaslik   kerak.
Algoritm   tuzish   vaqtida   uning   turini   13   aniqlash   uchun   masala   tarkibida   hech   qanday
shart   yoki   takrorlanish   bo‘lmaslik   kerak.   Har   qanday   masala   algoritmini   ham   uchta
chiziqli,   shartli   va   takrorlanuvchi   algoritmlar   yordamida   tasvirlash   mumkin.   Chiziqli
algoritmlar bajarilish vaqtida buyruqlar ketma-ketligi buzilmasdan davom etadi. Misol: a
ni qiymati berilganda quyidagi funksiyani hisoblash algoritmini keltiring. Blok-sxemalar   bilan   ishlashni   yaxshilab   o‘zlashtirib   olish   zarur,   chunki   bu   usul
algoritmlarni   ifodalashning   qulay   vositalaridan   biri   bo‘lib,   programma   tuzishni
osonlashtiradi,   programmalash   qobiliyatini   mustahkamlaydi.   Algoritmik   tillarda   blok   -
sxemaning   asosiy   strukturalariga   maxsus   operatorlar   mos   keladi.Shuni   aytish   kerakki,
blokBoshlash
Tarmoqlanuvchi algoritmlar
. Masala yoki muommoni hal etish jarayonida qandaydir shartlarga duch kelinsa,
bu masala shartlarning bajarilishi asosida amalga oshiriladi. Masala yechimi aniqlanish
jarayonida   tuzilayotgan   algoritmlar   shartlar   asosida   tarmoqlanishi   mumkin,   ya’ni   shart
bajarilish   asosida   chin   qiymat   qabul   qilganda   algoritmning   bir   qismi   yolg‘on   qiymat
qabul qilganda esa algoritmning boshqa qismi  bajariladi. Algoritm  bajarilish davomida
har   doim   ham   buyruqlar   ketma-ketligi   bajarilavermaydi,   shunday   holatlar   ham
mavjudki,   algoritm   tarkibida   shartlar   asosida   buyruqlar   ketma-ketligi   tarmoqlanib
ketadi. Ta’rif: Algoritm bajarilish vaqtida buyruqlar ketma-ketligi shartlar asosida u yoki
bu   qismga   tarmoqlanishiga   tarmoqlanuvchi   algoritmlar   deyiladi.   Tarmoqlanuvchi
algoritmlar   quyidagicha   so‘zlar   yordamida   tasvirlanadi.   Agar   (shartli   ifoda)   u   holda
(hisoblansin)   aks   holda   (hisoblansin)   Tarmoqlanuvchi   algoritmlar   quyidagicha   blok-
sxema yordamida tasvirlanadi.
Shart   chin   bo‘lganda   algoritm   1   tomonga   yolg‘on   bo‘lganda   esa   0   tomonga
harakatlanadi.   1   yoki   0   o‘rniga   ha   yoki   yolg‘on,   +   yoki   –   larni   yozish   mumkin.
Algoritmni   ifodalovchi   blok-sxema   ko‘rinishiga   e’tibor   shart   0   1   15   qaratsangiz   romb belgisi   tarkibiga   algoritm   sharti   keltiriladi.   Agar   algoritm   sharti   natijasi   chin   qiymat
qabul   qilsa,   algoritm   +   tarafdagi   buyruqlarga   o‘tadi   aks   holda   –   tarafdagi   buyruqlar
ketma-ketligiga   o‘tadi.   Misol.   Kvadrat   tenglamaning   a,b,c   koeffitsentlari   berilganda,
uning ildizlarini hisoblash algoritmini tuzing.
Takrorlanuvchi   algoritmlar.  Masala  yoki  muommoni   hal   etishda   ba’zi  jarayonlar
bir   necha   marta   takrorlanish   mumkin.   Algoritm   tarkibida   biror   parametr   qandaydir
shartga bog‘liq ravishda oshishi yoki kamiyish hisobiga takrorlanish jarayonlari vujudga
kelishi   mumkin.   Bunda   bu   jarayonlar   takrorlanishlar   orqali   amalga   oshiriladi.   Ta’rif:
Algoritmning   ma’lum   bir   qismi   qandaydir   shartlar   asosida   ikki   va   undan   ortiq
bajarilishiga   takrorlanuvchi   algoritmlar   deyiladi.   Takrorlanuvchi   algoritmlar   bajarilish
vaqtida   uning   qandaydir   qismi   bir   necha   marta   takrorlanadi.   Algoritm   bajarilish
davomida   har   doim   ham   buyruqlar   ketma   -   ketligi   bajarilavermaydi,   shunday   holatlar
ham Tamom D>0 0 1 Boshlanish a,b,c kiritilsin x1=(-b+ d)/(2a) x2=(-b- d)/(2a) X1 va
x2 chiqarilsin D=b2 -4ac D Massiv   elementlarini   funksiyalar   orqali   va   klaviatura   yordamida   hosil   qilish
Massiv   elementlarini   python   dasturlash   tilida   ma’lum   bir   ketma   ketlik   yoki   funksiya
orqali  hosil  qilish  imkoniyati  mavjud. Bunda massiv  elementlari  berilgan funksiyaning
qiymatlarini qabul qiladi. Range() funksiyasi orqali massiv elementlarini shakllantirishni
quyidagi dastur orqali hal etamiz. from numpy import* L=range(10) a=array(L) print(a)
Natija   [0   1   2   3   4   5   6   7   8   9]   Haqiqiy   sonlarni   arange()   funksiyasi   orqali   quyidagicha
massiv elementlariga ta’minlash mumkin
Massiv   elementlarini   doimo   statik   bo‘lavermaydi,   masala   sharoitiga   qarab
dinamik   ham   bo‘lishi   mumkin.   Massiv   elementlari   dinamik   bo‘lganda,   elementlarni
klaviaturadan kiritishga to‘g‘ri keladi. Klaviaturadan kiritishni a=array([int(input()) for i
in range(n)]) kabi amalga oshiramiz bu jarayonni quyidagi dastur orqali tushinib olamiz.
Misol: n natural son va n ta elementdan tashkil topgan massiv berilgan uning eng katta
elementi   va   o‘rnini   aniqlash   dasturini   tuzing.   Bu   masalani   yechimini   aniqlash   uchun
birinchi   elementni   eng   katta   deb   qarab,   massivning   barcha   elementini   eng   katta   deb qaralgan   element   bilan   solishtiriladi,   agar   solishtirilayotgan   sondan   kattasi   topilsa,   u
katta   bilan   almashtiriladi.   from   numpy   import*   n=int(input('n='))   a=array([int(input())
for i in range(n)])  max=a[0]  # eng katta element l=0 # eng katta element  o‘rni  for i in
range(n): if a[i]>max: max=a[i] l=i print('max=', max) print('l=', l+1) Natija n=5 123 8
11 -5 6 9 max= 11 l= 2 Yuqoridagi dasturda massiv elementlari klaviaturadan kiritilishi
shakllantirilgan.   Massivning   eng   katta   elementi   va   uning   o‘rni   aniqlanish   jarayonida
o‘zgaruvchi   l   maxning   o‘rni,   massiv   0-tartibdan   boshlanganligi   sababli   l+1   ekranga
chiqarildi. Massiv elementlari ustida aniqlangan amallar Massivning elementlari ustida,
boshqa, ya’ni ro‘yxat, to‘plam elementlari kabi ba’zi bir amallar aniqlangan. Massivning
har   bir   elementiga   murojaat   qilish   natijasida   amallar   bajarish   jarayoni   python   tilida
soddalashtirilgan   holatga   keltirilgan,   ya’ni   amallar   massiv   nomiga   yozilish   natijasida
uning   barcha   elementlariga   ta’sir   ettiradi.   Massiv   elementlari   ustida   quyidagi   amallar
aniqlangan.   a.sum()   –   a   massiv   elementlarining   yig‘indisini   hisoblash   a.mean()   –   a
massiv   elementlarining   o‘rta   arifmetik   qiymatini   hisoblash   a.max()   –   a   massiv
elementlarining maksimumini hisoblash a.min() – a massiv elementlarining minimumini
hisoblash
Yuqoridagi amal funksiyalarni ishlash jarayonini quyidagi dasturda qarab o‘tamiz.
from numpy import* n=int(input('n=')) a=array([int(input()) for i in range(n)]) s=a.sum()
print('sum=',s) 124 t=a.mean() print('o"rta arifmetik=',t) max=a.max() print('max=',max)
min=a.min()   print('min=',min)   Natija   n=3   1   3   2   sum=   6   o"rta   arifmetik=   2.0   max=   3
min= 1 Massiv elementlari ustida arifmetik amallar ham aniqlangan, massiv elementlari
ustida   arifmetik   amallarni   quyidagi   dastur   orqali   qarab   o‘tamiz.   from   numpy   import*
a=array([1,4,5,6])   b=array([2,3,1,4])   print('a+b=',a+b)   print('a*b=',a*b)   print('a-b=',a-b)
print('a/b=',a/b)   Natija   a+b=   [   3   7   6   10]   a*b=   [   2   12   5   24]   a-b=   [-1   1   4   2]   a/b=   [0.5
1.33333333 5. 1.5 ] 125 Yuqoridagi dasturga e’tibor qaratsak, massiv elementlari ustida
arifmetik   amallar,   massivning   mos   elementlari   ustida   bajarilmoqda.   Ikki   o‘lchovli
massivlar   Python   dasturlash   tilida   ba’zi   hollarda   bir   nechta   o‘lchamlari   va   turi   bir   xil
bo‘lgan, bir o‘lchovli massivlardan foydalanishga to‘g‘ri keladi. Bir nechta bir o‘lchovli massivlarni   birlashtirish   natijasida   ikki   o‘lchovli   massivlarni   hosil   qilish   mumkin.   Ikki
o‘lchovli   massivlarni   tarkibida   ma’lumotlar   satrlarning   satri   ko‘rinishida   tasvirlanadi.
Ikki   o‘lchovli   massivlarning   tarkibi   ham   bir   o‘lchovli   massivlar   kabi   tartiblangan
bo‘ladi.   Ikki   o‘lchovli   massivlarga   matematikadagi   matritsalar   misol   bo‘lishi   mumkin.
Ikki   o‘lchovli   massivlar   tarkibidagi   elementlar   xuddi   matritsani   elementlari   kabi
tasvirlanadi.   Ta’rif:   Bir   turga   mansub   bo‘lgan   yagona   nom   bilan   saqlangan   matritsa
ko‘rinishdagi tartiblangan ma’lumotlar majmuasi ikki o‘lchovli massivlar deyiladi. Ikki
o‘lchovli massivning barcha elementlari aniq turga mansub bo‘ladi va uning elementlari
bir nechta satrlar ko‘rinishda bo‘ladi.  Ikki o‘lchovli massivlar quyidagi shaklda bo‘ladi.
Yuqoridagi   shakldan   ko‘rinib   turibdiki   ikki   o‘lchovli   massiv   bir   o‘lchovli
massivlarning   bir   nechtasi   yoki   matritsa   ko‘rinishida   tasvirlanar   ekan.   Ikki   o‘lchovli
massivlarning kompyuter xotirasiga har bir satr uchun alohida tartib nomer ya’ni indeks
bilan   saqlanadi.   Ikki   o‘lchovli   massivlarning   har   bir   elementiga   o‘zining   indeksi
bo‘yicha   murojat   qilinadi.   Ikki   o‘lchovli   massivlarni   python   dasturlash   tilida
faollashtirishning   umumiy   ko‘rinishi   quyidagicha.   =   array([x1,   x2,   .   .   .],[   x1,
x2,   .   .   .],   .   .   .   ])   126   Ikki   o‘lchovli   massivlarni   python   dasturlash   tilida   faollashtirish
uchun massiv o‘zgaruvchisi, massiv va uning elementlar kvadrat qavslar ketma ketligida
yoziladi.   Agar   a[2,3]   massiv   berilgan   bo‘lsa,   2   –   bu   satr   tartibi,   3   –   esa   ustun   tartibi
hisoblanadi.   Ikki   o‘lchovli   massivlarni   python   dasturlash   tilida   faollashtirish
quyidagicha.
.  PYTHON DASTURLASH TILIDA GRAFIKA  
Python dasturlash tili tarkibida boshqa dasturlash tillari kabi grafik imkoniyatlari
anchagina   keng   e’tiborga   olingan.   Dasturlashda   grafik   rejim   bilan   ishlashda,   albatta,
grafik   rejimga   o‘tish   komandalari   berilishi   shart.   Dasturlashning   grafik   rejimida geometriya fanining ba’zi bir elementlari, nuqtalar to‘plami, funksiayalar va ikki va uch
o‘lchovli   grafik   elementlarni   tasvirlash   imkoniyatlari   mavjud.   Python   dasturlash   tilida
yuqorida   ta’kidlangan   elementlardan   tashqari   ma’lum   bir   sohalar,   shakllar,   shakllar
atrofiga   izohli   ma’lumotlar   hamda   rangli   soha   va   rangli   shakllar   hosil   qilish
imkoniyatlari mavjud.
Grafik   muhitini   faollashtirish   Python   dasturlash   tili   tarkibida   boshqa   dasturlash
tillari   kabi   grafik   rejimi   va   uning   imkoniyatlari   mavjud.   Chizmalar   va   sohalarni   hosil
qilish   uchun   python   dasturlash   tilida   matplotlib   kutubxoansini   chaqirish   kerak.
Matplotlib   kutubxonasini   faollashtirishning   umumiy   ko‘rinishi   quyidagicha.   157   from
matplotlib.pyplot   import*   Grafik   rejimi   hosil   qilingandan   so‘ng   kompyuter   ekranini
koordinatalar   sistemasini   I-choraki   deb   qarash   kerak.   Bunda   kompyuter   ekraniga
chiziladigan   shakl   va   chizmalar   xuddi   koordinatalar   sistemasining   I-chorakida
chiziladigandek   buruqlar   beriladi.   Kompyuterning   ekrani   bir   nechta   nuqtalar
matritsasidan   tashkil   topgan.   Dasturchi   tomonidan   chizilgan   shakl   va   chizmalar   ekran
rangi   bilan   bir   xil   rangda   bo‘lsa,   chizilgan   shakl   va   chizmalar   ko‘rinmasdan   qoladi,
shuning   uchun   chiziladigan   shakl,   chizma   va   nuqtalar   uchun   alohida   ranglar   ham
berilish mumkin. Tekislikda chizma va shakllar  chizish  Python dasturlash tili  tarkibida
shakl   va   chizmalar   nuqtalar   ketmaketligidan   hosil   bo‘ladi.   Python   dasturlash   tilida
nuqta, shakl va chizmalarni rangi va chizma turi alohida beriladi. Python dasturlash tili
tarkibida   grafik   shakllarni   quyidagi   funksiyalar   orqali   chiziladi:   plot(y),   show()-
funksiyasi   y   to‘plam   yoki   y   ro‘yxat   elementlarini   ikki   o‘lchovli   koordinatalar
sistemasida chizish uchun xizmat qiladi. plot() funksiyasini  ishlash jarayonini quyidagi
dastur orqali qarab o‘tamiz. Chizmalarni alohida faylda saqlash Python dasturlash tilida chiziladigan shakl va
chizmalarni   alohida   .png   kengaytmali   fayllarga   saqlash   imkoniyati   mavjud.   Bu   asosan
katta turdagi ma’lumotlarni qayta ishlash vaqtida rasmlarni alohida fayl sifatida saqlash
imkonini   yaratadi.   Chiziladigan   shakl   va   chizmalarni   alohida   faylga   quyidagi   funksiya
orqali   amalga   oshiramiz.   savefig('sincos.png‘)   Bu   funksiya   grafikni,   dastur   saqlangan
papkaga   saqlaydi,   agar   boshqa   joyga   saqlash   kerak   bo‘lsa   albatta   adres   ‘’   belgi   ichiga
yozilish   kerak.   Yuqoridagi   funksiyani   ishlash   jarayonini   quyidagi   dastur   orqali   qarab
o‘tamiz.   Misol.   Ma’lum   bir   oraliqda   cos(x)   funksiya   grafigini   chizing   va   bu   grafikni
cosinus.png   fayliga   saqlash   dasturini   tuzing.   from   numpy   import*   from   math   import*
from   matplotlib.pyplot   import*   t=[]   x=[]   for   i   in   range(400):   t.append(i*0.01)
x.append(cos(pi*t[i]/180)) plot(t, x, color='green') savefig('cosinus.png‘) show() Grafikga   ma’lumot   yozish   Python   dasturlash   tilida   chiziladigan   shakl   va
chizmalarga ma’lumot yozish mumkin. Bu ma’lumot funksiyaga nom, OX va OY o‘qi
bo‘yicha   ma’lumot   yozish   mumkin.   Ma’lumotlarni   quyidagi   funksiyalar   amalga
oshiradi.   Funksiyaga   nom   beris   funksiyasi:   title(‘text’)   OY   o‘qiga   ma’lumot   yozish:
ylabel(‘text’) OX o‘qiga ma’lumot yozish: xlabel(‘text’)
Matematik   funksiyalar   grafiklarini   chizish   Python   dasturlash   tili   tarkibida   oddiy
chizmalardan   tashqari   matematik   funksiyalar   grafiklarini   chizish   ham   mumkin.
Matematik   funksiyalar   grafiklarini   chizishda   avval,   argumentning   oraliq   qiymati
beriladi,   bu   xuddiki   MAPLE   tizimidagi   kabi   aniqlanadi.   Argumentning   qiymatlari
qanchalik katta bo‘lsa grafik ham shunch aniq chiziladi. FOYDALANILGAN ADABIYOTLAR RO‘YXATI 
1.Eric   Matthes.   Python   Crash   Course   Paperback.England   2015.205p.   2.Krishna
Rungta. Learn Python in 1 Day: Complete Python Guide with Examples. India 2016. -
182 p. 3.Narasimha Karumanchi. Data Structure and Algorithmic Thinking with Python
Paperback. India 2015. 170p.   4.Сысоева М.В., Сысоев И. В. Программирование для
«нормальных»   с   нуля   на   языке   Python   Москва.   2018.   -180с.   5.Федоров   Д.
Ю.Основы программирования на примере языка  Python. Санкт-Петербург  2018. -
167   c.   6.   Eshtemirov   S.   Nazarov   F.   Algoritmlash   va   dasturlash   asoslari.   O‘quv
qo‘llanma.   Samarqand   2019.   -208   b.   7.Nazarov   F.   C++   tilida   dasturlash   asoslari.
Uslubiy qo‘llanma. Samarqand 2017. -208 b.

PTHYTON MUHITIDA CHIZIQLI, TARMOQLANUVCHI, TAKRORLANUVCHI,MASSIVLAR,FUNKSIYALAR VA GRAFIKAGA OID DASTUR TUZISH REJA: Reja

KIRISH: . Python dasturlash tili uzoq tarixga bormasada, lekin uning rivojlanishi hozirgi vaqtda eng istiqbolli sohalardan hisoblanadi. Python dasturlash tili o‘tgan asrning 80-yillari oxirlarida ishlab chiqila boshlandi. Gido Van Rossum Python dasturlash tilini 1980- yillarda yaratgan va u til 9 yildan so‘ng, ya’ni 1989 yil dekabrda Gollandiyadagi matematika va informatika laboratoriya markazida ishlab chiqilgan. Python istisno holatlarini ko‘rib chiqishga va Amoeba operatsion tizimiga ta’sir ko‘rsatishga qodir bo‘lgan ABC dasturlash tilining avlodi hisoblanadi. Van Rossum Pythonning asosiy muallifidir va u 2018 yilgacha tilni rivojlantirish bo‘yicha bir qancha ishlar olib borgan. Python dasturlash tili boshqa dasturlash tillaridan farqli ravishda, mukammal darajada ishlab chiqilgan. Python dasturlash tili, boshqa dasturiy vositalarni boshqarish va ularning tarkibiy qismlarini mustaqil boshqarishni amalga oshiradi. Aslida, Python ko‘p maqsadli dasturlash tili sifatida o‘rganilishi mumkin, bu dasturlash tili yordamida bir qancha jarayonlarni dasturlash imkoni yaratiladi. Python dasturlash tilida, bir vaqtning o‘zida, boshqa dasturlash tillaridan farqli ravishda, bir nechta turdagi dasturlar yaratish inkoniyati mavjud, ya’ni: - amaliy dasturiy maxsulotlar; - web ilovali dasturiy maxsulotlar; - ilmiy dasturiy maxsulotlar yaratish imkonini beradi. Python tarkibida xotiradan foydalanish va ishlash talablari bo‘yicha cheklovlar mavjud emas, ya’ni imkoniyatlar shu qadar kattaki, boshqa dasturlash tillari kabi ma’lumotlarni e’lon qilish tabaqasi mavjud emas. Bunday imkoniyatlar, albatta, dastur yaratuvchilar ish faoliyati samaradorligini keskin ortishiga xizmat qiladi. Python tilida dasturlash asoslari Axborot texnologiyalarini rivojlanishining asosiy bo‘g‘ini bu algoritmlash jarayonidir. Biror bir masala yoki muommoni elektron hisoblash mashinasida hisoblash uchun, albatta, berilgan masalani matematik modeli, algoritmi va biror bir algoritmlash tili asosida dasturini yaratish kerak bo‘ladi. Muommo yoki masalani matematik modelini tuzish deganda berilgan masalani matematik tushunchalar bilan ifodalanishiga aytiladi. Muommo yoki masalani yechish qadamlari albatta algoritm bilan bog‘liqdir. Algoritm

so‘zi va tushunchasi IX asrda yashab ijod etgan buyuk vatandoshimiz alloma Muhammad al-Xorazmiy nomi bilan uzviy bog‘liq. Algoritm so‘zi Al-Xorazmiy nomini Yevropa olimlari tomonidan o‘zgacha talaffuz qilinishidan yuzaga kelgan. Al-Xorazmiy birinchi bo‘lib o‘nlik sanoq sistemasining tamoyillarini va undagi to‘rtta amallarni bajarish qoidalarini asoslab bergan. Masala yoki muommoni hal etish uchun yuqorida keltirib o‘tilgandek, uni algoritmini tuzish kerak bo‘ladi. Ta’rif: Algoritm- bu biror bir masala yoki muommoni hal etish uchun kerak bo‘lgan chekli sondagi buyruqlar ketma- ketligi. Masala algoritmini tuzish tartibini quyidagi masala orqali ko‘rib chiqamiz. Misol. a,b,c uchburchakning yuzasini hisoblash algoritmi tuzilsin 1. a,b,c kesmalar kiritilsin; 9 2. Berilgan kesmalar yordamida P=(a+b+c)/2 hisoblansin; 3. S  p( p  a)( p  b) ( p  c) hisoblansin. Demak, masalani yechish ketmaketligini algoritm sifatida qarash mumkin. Algoritmning tasvirlash usullari Masala algoritmini tuzish vaqtida, bu masala qanday sohaga tegishliligiga qarab algoritm bir necha xil ko‘rinishda tasvirlanishi mumkin. Algoritmlarni bir nechta tasvirlash usullari mavjud. Iqtisodiy masalalar algoritmi jadvallar ko‘rinishida, matematik masalalar formula yoki grafik usullarda va sanoatda esa so‘zlar yordamida tasvirlanish mumkin. 1.Algoritmning so‘zlar orqali ifodalanishi. Bu usulda ijrochi uchun beriladigan har bir ko‘rsatma, jumlalar, so‘zlar orqali buyruq shaklida beriladi. Misol. To‘g‘ri to‘rtburchakning yuzasi va peremetrini hisoblash algoritmi tuzilsin. 1. boshlanish 2. a,b lar kiritilsin; 3. S=ab va P=2(a+b) hisoblansin; 4. S va P chiqarilsin; 5. Tamom. 2.Algoritmlarning grafik shaklida tasvirlanishida algoritmlar maxsus geometrik figuralar yordamida tasvirlanadi va bu grafik ko‘rinishi blok-sxema deyiladi. Algoritmning blok-sxema ko‘rinishida tasvirlanishi beriladigan buyruqlar qandaydir shakllar orqali ifodalanadi. Algoritmning blok-sxemalar yordamida tuzishda foydalaniladigan asosiy sodda geometrik figuralar quyidagilardan iborat. – Ellips u algoritmning boshlanishi yoki tugallashini belgilaydi; – To‘g‘ri burchakli to‘rtburchak, qiymat berish yoki tegishli ko‘rsatmalarni bajarish jarayonini belgilaydi; 10 – Parallelogramm, ma’lumotlarni kiritish yoki chiqarishni belgilaydi. – Yordamchi algoritmga murojatni belgilaydi. – Romb, shart tekshirishni belgilaydi va shart bajarilsa "ha", tarmoq bo‘yicha, aks holda "yo‘q”-tarmog‘i bo‘yicha

amallar bajarilishini ta’minlaydi. - Strelka - amallar ketma-ketligining bajarilish yo‘nalishini ko‘rsatadi. Yuqorida ko‘rilgan algoritmlarning tasvirlash usullarining asosiy maqsadi - qo‘yilgan masalani yechish uchun zarur bo‘lgan amallar ketmaketligining eng qulay holatini aniqlash va shu bilan foydalanuvchi tomonidan programma yozishni yanada osonlashtirishdan iborat. Aslida programma ham algoritmning boshqa bir ko‘rinishi bo‘lib, u insonning kompyuter bilan muloqotini qulayroq amalga oshirish uchun mo‘ljallangan. Misol. Teng yonli uchburchakning tomonlari berilganda uning yuzi va perimetrini topish algoritm blok-sxemasini yozing Algoritmning xossalari Masala yoki mummoni hal etish jarayoni uchun keltirilgan algoritmlar ma’lum bir xususiyatlarga bo‘ysinish kerak. Bu xususiyatlarni e’tiborga olib algoritmlar quyidagi xossalarga ega. 1.Diskretlilik (Cheklilik). Bu xossaning mazmuni algoritmlarni doimo chekli qadamlardan iborat qilib bo‘laklash imkoniyati mavjudligida. Ya’ni, uni chekli sondagi oddiy ko‘rsatmalar ketma-ketligi shaklida ifodalash mumkin. Agar kuzatilayotgan jarayonni chekli qadamlardan iborat qilib qo‘llay olmasak, uni algoritm deb bo‘lmaydi. 2.Tushunarlilik. Biz kundalik hayotimizda berilgan algoritmlar bilan ishlayotgan elektron soatlar, mashinalar, dastgohlar, kompyuterlar, turli avtomatik va mexanik qurilmalarni kuzatamiz. Ijrochiga tavsiya etilayotgan ko‘rsatmalar, uning

uchun tushunarli mazmunda bo‘lishi shart, aks holda ijrochi oddiygina amalni ham bajara olmaydi. Undan tashqari, ijrochi har qanday amalni bajara olmasligi ham mumkin. Har bir ijrochining bajarishi mumkin bo‘lgan ko‘rsatmalar yoki buyruqlar majmuasi mavjud, u ijrochining ko‘rsatmalar tizimi deyiladi. Demak, ijrochi uchun berilayotgan har bir ko‘rsatma ijrochining ko‘rsatmalar tizimiga mansub bo‘lishi lozim. Ko‘rsatmalarni ijrochining ko‘rsatmalar tizimiga tegishli bo‘ladigan qilib ifodalay bilishimiz muhim ahamiyatga ega. Masalan, quyi sinfning a’lochi o‘quvchisi "son kvadratga oshirilsin" degan ko‘rsatmani tushunmasligi natijasida bajara olmaydi, lekin "son o‘zini o‘ziga ko‘paytirilsin" shaklidagi ko‘rsatmani bemalol bajaradi, chunki u ko‘rsatma mazmunidan ko‘paytirish amalini bajarish kerakligini anglaydi. 3.Aniqlik. Ijrochiga berilayotgan ko‘rsatmalar aniq mazmunda bo‘lishi zarur. Chunki ko‘rsatmadagi noaniqliklar mo‘ljaldagi maqsadga erishishga olib kelmaydi. Odam uchun tushunarli bo‘lgan "3-4 marta silkitilsin", "5-10 daqiqa qizdirilsin", "1-2 qoshiq solinsin", "tenglamalardan biri yechilsin" kabi noaniq ko‘rsatmalar robot yoki kompyuterni qiyin ahvolga solib qo‘yadi. Bundan tashqari, ko‘rsatmalarning qaysi ketma-ketlikda bajarilishi ham muhim ahamiyatga ega. Demak, ko‘rsatmalar aniq berilishi va faqat algoritmda ko‘rsatilgan tartibda bajarilishi shart ekan. 12 4.Ommaviylik. Har bir algoritm mazmuniga ko‘ra bir turdagi masalalarning barchasi uchun ham o‘rinli bo‘lishi kerak. Ya’ni masaladagi boshlang‘ich ma’lumotlar qanday bo‘lishidan qat’iy nazar algoritm shu xildagi har qanday masalani yechishga yaroqli bo‘lishi kerak. Masalan, ikki oddiy kasrning umumiy mahrajini topish algoritmi, kasrlarni turlicha o‘zgartirib bersangiz ham ularning umumiy mahrajlarini aniqlab beraveradi. Yoki uchburchakning yuzini topish algoritmi, uchburchakning qanday bo‘lishidan qat’iy nazar, uning yuzini hisoblab beraveradi. 5.Natijaviylik. Har bir algoritm chekli sondagi qadamlardan so‘ng albatta, natija berishi shart. Bajariladigan amallar ko‘p bo‘lsa ham baribir natijaga olib kelishi kerak. Chekli qadamdan so‘ng qo‘yilgan masala yechimga ega emasligini aniqlash ham natija hisoblanadi. Agar ko‘rilayotgan jarayon cheksiz davom etib natija bermasa, uni algoritm deb atay olmaymiz. Tuzilayotgan algoritmlar doimo bir xil yo‘nalishlarda bo‘lmaydi. Masala