logo

PYTHON DASTURLASH TILIDA RO‘YXATLAR VA KORTEJLAR

Yuklangan vaqt:

08.08.2023

Ko'chirishlar soni:

0

Hajmi:

508.7705078125 KB
PYTHON DASTURLASH TILIDA RO‘YXATLAR VA KORTEJLAR
                                         Reja: 
                        1.Ro’yxatlar va ularning umumiy ko’rinishi; 
                        2. Ro’yxatlarga oid dasturlar; 
                        3.Kortejlar va ularning umumiy ko’rinishi;
                        4. Kortejlarga oid dasturlar;                                        Ro‘yxatlar  
Bu   qismda   dasturdagi   ma‘lumot   strukturalari   bilan   tanishishni     boshlaymiz.
Dasturda   ikki   asosiy   tur   ma‘lumot   strukturalari   mavjuddir.   Birinchisi   statik,
ikkinchisi dinamikdir
Ta’rif:   Har  xil  turga mansub  bo’lgan yagona  nom  bilan  saqlanuvchi  tartiblangan
ma’lumotlar majmuasi  ro’yxat(list) deyiladi. Ro’yxatlar yagona o’zgaruvchi bilan
kompyuter   xotirasiga   saqlanadi,   uning   elementlari   ma‘lum   bir   indekslar   bilan
tartiblab   joylashtiriladi.   Python   dasturlash   tilida   ro’yxatlarni   boshqa   dasturlash
tillaridagi   bir   o’lchovli   massivlarga   o’xshatish   mumkin,   lekin   pythonda
ma‘lumotlar   bir   turga   mansub   bo’lmasligi   ham   mumkin.   Python   dasturlash   tilida
ro’yxatlardan   foydalanishda   bozordagi   mahsulotlarning   narxini   olish   mumkin.
Mahsulot   narxlarini   ro‗yxat   sifatida   qaralganda   narx1,     narx2   ,narx3,…,narxn
ko‗rinishda   bir   nechta   mahsulot   narxlarini   kompyuter   xotirasiga   saqlab   undan
foydalanish mumkin. Odatda ro’yxatlar zarurat, katta hajmdagi tartiblangan, lekin
chekli   elementlarga   oid   masalalarni   hal   etishda   yuzaga   keladi.   Dastur   ishlatilishi
davomida   ro‗yxatlar   aniq   nomga   ega   bo’lishi   va   uning   elementlari   ma‘lum   bir
turda   bo’lishi   kerak.   Python   dasturlash   tilida   ro’yxatlar   kompyuter   xotirasiga
quyidagi shaklda saqlanadi. 
O’zgaruvchi qiymatlar
Yuqoridagi   holat   bo’yicha   ro’yxatlar   kompyuter   xotirasiga   saqlanadi,   bunda
ro’yxatning   ixtiyoriy   elementiga   murojat   qilish   uchun   uning   indeks   nomeri
bo’yicha murojat qilinadi.
Ro’yxatlarni   boshlang‘ich   qiymatlari   bergan   holatda   faollashtirish   quyidagicha
amalga oshiriladi.
     ro’yxat o’zgaruvchisi>=[qiymat1,qiymat2,…] 
;
Ro’yxatni   Python   dasturlash   tilida   faol   qilish   uchun,   albatta,   elementlar   soni
berilish   shart   emas,   ro’yxatning   elementlar   soni   uning   tarkibidagi   qiymatlariga qarab   aniqlanadi.   Python   dasturlash   tilida   ro’yxatlarni   faollashtirish   va   ulardan
foydalanish.
Yuqoridagi   dastur   kodiga   e‘tibor   bersak,   bunda   ro’yxat   elementlari   uchun
quyidagilar o’rinli bo’ladi:
 - Ro’yxat elementlari ixtiyoriy turda;
 - Ro’yxat elementlari vergul bilan ajratiladi; 
- Ro’yxat elementlari soni oldindan berish shart emas;
 - Ro’yxat elementlari 0- tartibdan boshlanadi; 
- Ro’yxat elementlariga murojaat indekslar orqali amalga oshiriladi.
  Ro’yxat   elementlarini   tashkil   qilish   va   ro’yxat   elementlari   ustida   amallar
bajarishni   quyidagi   masala   orqali   qaraymiz.   Ro’yxat   elementlariga   o’zgarirish
kiritish jarayonini quyidagi dastur orqali amalga oshiriladi. Python   dasturlash   tilida   ro’yxat   elementlari   uchun   quyidagi   ko’rinishdagi   amal
funksiyalar aniqlangan. 
len (L) - L ro’yxatidagi elementlar sonini aniqlaydi 
max (L) - L ro’yxatdagi maksimal elementni aniqlaydi 
min (L) - L ro’yxatidagi minimal elementni aniqlaydi 
sum (L) - L ro’yxatidagi qiymatlarning yig'indisini aniqlaydi 
sorted (L) - L ro’yxat elementlarini saralaydi 
del(a[i]) – L ro’yxatning a[i] elementi o’chiriladi.
Python   dasturlash   tilida   ro’yxat
elementlari   uchun   aniqlangan
funksiyalardan   foydalanishni   quyidagi
dastur orqali qarab chiqamiz
Ro’yxat elementlari tarkibidan, boshqa ro’yxat elementlari mavjudligini tekshirish
imkoniyati   ham   mavjud.   Python   dasturlash   tilida   elementlari   tarkibidan,   boshqa
ro’yxat elementlari mavjudligini va ro’yxatlar ustida amallarni bajarishni quyidagi
dastur orqali qarab chiqamiz. Python   dasturlash   tilida   ro’yxat   elementlari   uchun   quyidagi   ko’rinishdagi
protseduralar aniqlangan. 
L.append(x) – L ro’yxatning oxiriga x elementni qo’shish 
L.extend(T) - L ro’yxatning oxiriga T ro’yxatni qo’shish 
L.insert(i,x) - L ro’yxatning i- o’rniga x elementga qo’shish
L.pop(i) - L ro’yxatning i-o’rnidagi elementni uchirish 
L.remove(x) - L ro’yxatning x elementni uchirish  
L.count(x) - L ro’yxat ichida x elementlar sonini aniqlash 
L.reverse() - L ro’yxat elementlarini kamayish tartibida saralash 
L.sort() - L ro’yxat elementlarini o’sish tartibida saralash
Misol.   10   ta   butun   sonli   elementdan   tashkil   topgan   ro’yxat   hosil   qilib,
elementlarini ikkiga ko’paytirib ekranga chiqaring. Kortejlar   Python   dasturlash   tilida   kortej   degan   tushuncha   mavjud,   bunda   kortej
ro’yxat   elementlari   sifatida   qabul   qilinadi,   lekin   uni   elementlarini   o’zgartirish
mumkin   emas.   Kortejlar   ro’yxatga   qaraganda   kamroq   xotiradan   foydalaniladi.
Kortejni   belgilashda   kvadrat   qavslar   o’rniga   aylana   qavslar   ishlatiladi.   Kortejlar
o‗zgarishlarga ruxsat  bermaydi, siz unga yangi element qo’sha olmaysiz, mavjud
elementlarni o’chira yoki o’zgartira olmaysiz. Kortejlardan foydalanishni quyidagi
dastur orqali qarab chiqamiz.
Ro’yxatlarni   tuple()   funksiyasi   orqali   kortejlarga   aylantirish   imkoniyati   mavjud.
List()  funksiyasi orqali esa kortejlarni ro’yxatlarga aylantirish imkoniyati mavjud. Bir   nechta   elementlarni   yagona   o’zgaruvchi   bilan   boshqarish   va   qayta   ishlash
uchun ro’yxat va kortej orqali to’liq amalga oshirish mumkin.
                                       Lug’atlar 
Agar ma‘lum bir qiymatlar bir biriga mos holda tenglik holatlarda, albatta, python
dasturlash   tilida   lug’at   turli   operatordan   foydalanish   maqsadga   muvofiqdir.   C++
dasturlash tilida bu jarayon tanlash ya‘ni switch operatori orqali amalga oshirilardi.
Ta’rif:   Agar   ma’lum   bir   qiymatlar   bir   biriga  mos  holda tenglik  jarayonlarini   aks
ettirsa   bunday   turlar   lug at   turi   deb   ataladi.   Pythonda   esa   lug‘atlar   yuqorida‟
ta‘kidlangan   masalaga   javob   beradi,   python   dasturlash   tilida   lug‘atlarni
faollashtirishning umumiy ko‗rinishi quyidagicha bo’ladi.
                  <lug’at o’zgaruvchisi>={x:x1,y:y1,…}
Lug‘atlarni   shakllantirishda   ikkita   mos   tenglik   :   belgisi   bilan   birlashtiriladi,   bu
qiymatlar vergul bilan ajratiladi. Lug‘at turi foydalanuvchiga ma‘lum bir qiymatlar
qanday   boshqa   qiymatlarga   tengligini   aniqlab   berishga   xizmat   qiladi,   lug‘at   turi
o‗z   nomi   bilan   ham   aytib   turibdiki,   ma‘lum   bir   so‗zni   boshqa   so‗zga   tengligini
aniqlaydi
  Misol .   Hafta   kunlariga   mos   lug‘at   yarating   va   ixtiyoriy   hafta   kunini   aniqlash
dasturini yarating.
                                                To‘plamlar
  Matematika   kursidan   biz   to‗plamlar   tushunchasi   bilan   oldindan   tanishmiz.
To‗plam  deganda,  bir  necha  elementlarning majmuasi  tushuniladi. Bu  elementlar bir   xil   toifali,   lekin   tartiblanmagan   bo’ladi.   Masalan,   butun   sonlar   to’plami,
shakllar to’plami, radiodetallar to’plami va hokazo.
Tarif :   Python   dasturlash   tilida   ixtiyoriy   turdagi
cheklangan   sondagi   ma’lumotlarning   betartib   majmuasiga
to’plam deyiladi.
                            <to’plam o’zgaruvchisi>={x1, x2, . . .}
To‗plamlar   tarkibida   set()   funksiyasi   aniqlangan,   bu   funksiya   ro‗yxatlar   va
elementlarni   to‗plamga   aylantirishga   xizmat   qiladi .   Set()   funksiyasini   ishlash
jarayoni quyidagi dasturda keltirilgan.
To‗plamlar ustida python dasturlash tilida quyidagi amallar aniqlangan.  s1.add(x)
– s1 toplamga x elementni qo‗shish 
s1.intersection(s2)   –   s1   va   s2   to’plam   elementlari   kesishmasini   aniqlash
s1.union(s2)  – s1 va s2 to’plam elementlari birlashmasini aniqlash 
s1-s2  bu s1 to’plam elementlaridan s2 to’plam elementlarini aniqlash
                                    
                                      Amaliy qism           1-Masala;     Natural   n   hamda   haqiqiy   sonli   A(1:n)   ro’yxat(kortej)   berilgan.
Uning o’rta arifmetik qiymatini toping.
Dastur kodi va natijasi
2-masala;   Natural   n   hamda   haqiqiy   sonli   A(1:n)   ro’yxat(kortej)   berilgan   bo’lsin.
Uning eng kattasi elementini toping.
Dastur kodi va natijasi
 
3-masala;   Natural   n   hamda   haqiqiy   sonli   A(1:n)   ro’yxat(kortej)   berilgan.   Uning
eng kichik elementi necha marta uchraydi ? Dastur kodi va natijasi
4-Masala;  O’zbek  Ingiliz  tilidagi lug’at yarating.  
Dastur kodi va natijasi
5-Masala;   1 dan 9 gach bo’lgan sonlarni so’zlarda ifodolovchi dastur tuzing. Dastur kodi va natijasi
6-masala;  Uch honali son berilgan uni so’zlarda ifodalovchi dastur tuzing;
Dastur kodi va natijasi
7-Masala;  Ikkita to’plam yarating va u to’plamlarning birlashmasini toping. Dastur kodi va natijasi
8-Masala;  Ikkita to’plam yarating va u to’plamlarning kesishmasini toping.
Dastur kodi va natijasi

PYTHON DASTURLASH TILIDA RO‘YXATLAR VA KORTEJLAR Reja: 1.Ro’yxatlar va ularning umumiy ko’rinishi; 2. Ro’yxatlarga oid dasturlar; 3.Kortejlar va ularning umumiy ko’rinishi; 4. Kortejlarga oid dasturlar;

Ro‘yxatlar Bu qismda dasturdagi ma‘lumot strukturalari bilan tanishishni boshlaymiz. Dasturda ikki asosiy tur ma‘lumot strukturalari mavjuddir. Birinchisi statik, ikkinchisi dinamikdir Ta’rif: Har xil turga mansub bo’lgan yagona nom bilan saqlanuvchi tartiblangan ma’lumotlar majmuasi ro’yxat(list) deyiladi. Ro’yxatlar yagona o’zgaruvchi bilan kompyuter xotirasiga saqlanadi, uning elementlari ma‘lum bir indekslar bilan tartiblab joylashtiriladi. Python dasturlash tilida ro’yxatlarni boshqa dasturlash tillaridagi bir o’lchovli massivlarga o’xshatish mumkin, lekin pythonda ma‘lumotlar bir turga mansub bo’lmasligi ham mumkin. Python dasturlash tilida ro’yxatlardan foydalanishda bozordagi mahsulotlarning narxini olish mumkin. Mahsulot narxlarini ro‗yxat sifatida qaralganda narx1, narx2 ,narx3,…,narxn ko‗rinishda bir nechta mahsulot narxlarini kompyuter xotirasiga saqlab undan foydalanish mumkin. Odatda ro’yxatlar zarurat, katta hajmdagi tartiblangan, lekin chekli elementlarga oid masalalarni hal etishda yuzaga keladi. Dastur ishlatilishi davomida ro‗yxatlar aniq nomga ega bo’lishi va uning elementlari ma‘lum bir turda bo’lishi kerak. Python dasturlash tilida ro’yxatlar kompyuter xotirasiga quyidagi shaklda saqlanadi. O’zgaruvchi qiymatlar Yuqoridagi holat bo’yicha ro’yxatlar kompyuter xotirasiga saqlanadi, bunda ro’yxatning ixtiyoriy elementiga murojat qilish uchun uning indeks nomeri bo’yicha murojat qilinadi. Ro’yxatlarni boshlang‘ich qiymatlari bergan holatda faollashtirish quyidagicha amalga oshiriladi. ro’yxat o’zgaruvchisi>=[qiymat1,qiymat2,…] ; Ro’yxatni Python dasturlash tilida faol qilish uchun, albatta, elementlar soni berilish shart emas, ro’yxatning elementlar soni uning tarkibidagi qiymatlariga

qarab aniqlanadi. Python dasturlash tilida ro’yxatlarni faollashtirish va ulardan foydalanish. Yuqoridagi dastur kodiga e‘tibor bersak, bunda ro’yxat elementlari uchun quyidagilar o’rinli bo’ladi: - Ro’yxat elementlari ixtiyoriy turda; - Ro’yxat elementlari vergul bilan ajratiladi; - Ro’yxat elementlari soni oldindan berish shart emas; - Ro’yxat elementlari 0- tartibdan boshlanadi; - Ro’yxat elementlariga murojaat indekslar orqali amalga oshiriladi. Ro’yxat elementlarini tashkil qilish va ro’yxat elementlari ustida amallar bajarishni quyidagi masala orqali qaraymiz. Ro’yxat elementlariga o’zgarirish kiritish jarayonini quyidagi dastur orqali amalga oshiriladi.

Python dasturlash tilida ro’yxat elementlari uchun quyidagi ko’rinishdagi amal funksiyalar aniqlangan. len (L) - L ro’yxatidagi elementlar sonini aniqlaydi max (L) - L ro’yxatdagi maksimal elementni aniqlaydi min (L) - L ro’yxatidagi minimal elementni aniqlaydi sum (L) - L ro’yxatidagi qiymatlarning yig'indisini aniqlaydi sorted (L) - L ro’yxat elementlarini saralaydi del(a[i]) – L ro’yxatning a[i] elementi o’chiriladi. Python dasturlash tilida ro’yxat elementlari uchun aniqlangan funksiyalardan foydalanishni quyidagi dastur orqali qarab chiqamiz Ro’yxat elementlari tarkibidan, boshqa ro’yxat elementlari mavjudligini tekshirish imkoniyati ham mavjud. Python dasturlash tilida elementlari tarkibidan, boshqa ro’yxat elementlari mavjudligini va ro’yxatlar ustida amallarni bajarishni quyidagi dastur orqali qarab chiqamiz.

Python dasturlash tilida ro’yxat elementlari uchun quyidagi ko’rinishdagi protseduralar aniqlangan. L.append(x) – L ro’yxatning oxiriga x elementni qo’shish L.extend(T) - L ro’yxatning oxiriga T ro’yxatni qo’shish L.insert(i,x) - L ro’yxatning i- o’rniga x elementga qo’shish L.pop(i) - L ro’yxatning i-o’rnidagi elementni uchirish L.remove(x) - L ro’yxatning x elementni uchirish L.count(x) - L ro’yxat ichida x elementlar sonini aniqlash L.reverse() - L ro’yxat elementlarini kamayish tartibida saralash L.sort() - L ro’yxat elementlarini o’sish tartibida saralash Misol. 10 ta butun sonli elementdan tashkil topgan ro’yxat hosil qilib, elementlarini ikkiga ko’paytirib ekranga chiqaring.