Python dasturlash tilida massivlar va ulardan foydalanish

Python dasturlash tilida massivlar va ulardan foydalanish
Python dasturlash tilida kompyuter xotirasiga bir o‘zgaruvchi yordamida bir nechta qiymatlarda foydalanish bo‘yicha bir nechta turlarni qarab o‘tdik. Bir o‘zgaruvchi bilan bir nechta qiymatlarni ro‘yxat, kortej, to‘plam va satr turlar bilan amalga oshirish mumkin.Python dasturlash tilida bir o‘zgaruvchi yordamida bir nechta qiymatlardan foydalanish uchun massiv degan turdan ham foydalanish imkoniyati mavjud. Bu qismda dasturdagi ma'lumot strukturalari bilan tanishishni boshlaymiz. Dasturda ikki asosiy tur ma'lumot strukturalari mavjuddir. Birinchisi statik, ikkinchisi dinamikdir. Statik deganimizda xotirada egallagan joyi o‘zgarmas, dastur boshida beriladigan strukturalarni nazarda tutamiz. Dinamik ma'lumot tiplari dastur davomida o‘z hajmini, egallagan xotirasini o‘zgartirishi mumkin. Massivlar hotirada ketma-ket joylashgan, ma’lumotlar guruhidir. Alohida bir o‘zgaruvchini ko‘rsatish uchun massiv nomi va kerakli o‘zgaruvchi indeksini yoziladi. Ta’rif: Bir turga mansub bo‘lgan yagona nom bilan saqlanuvchi tartiblangan ma’lumotlar majmuasi massiv deyiladi. Massivlar yagona o‘zgaruvchi bilan kompyuter xotirasiga saqlanadi, uning elementlari ma’lum bir indekslar bilan tartiblab joylashtiriladi. Bu qonuniyat ro‘yxatlar uchun ham o‘rinli bo‘ladi. Massivlar yagona nom bilan bir nechta qiymatni o‘zida mujassamlashtiradi, bularga matematikadagi vektorlarni misol keltirish mumkin. Vektor ham yagona nom bilan saqlanib uning tarkibida bir nechta qiymatni o‘zida mujassamlashadi. Vektorning ham elementlari bir turga mansub va tartiblangan bo‘ladi. Massivlar holatiga ko‘ra ikki turga bo‘linadi. - Bir o‘lchovli massivlar; - Ikki o‘lchovli massivlar; Bir o‘lchovli massivlar ma’lumotlarni bir satrli ko‘rinishda saqlansa, ikki o‘lchovli massivlar esa ma’lumotlarni satrlar satri ko‘rinishida saqlaydi. Python dasturlash tilida massivlarni qayta ishlash uchun numpy kutubxonasini faollashtirish kerak. Python 3.7 versiyasining IDLE rejimi tarkibida numpy kutubxonasi mavjud emas. Python dasturlash tili tarkibiga 119 numpy kutubxonasini yuklashning bir nechta turlari mavjud, shulardan bittasi Anoconda dasturini kompyuterga o‘rnatib bu dasturni Spyder(python 3.7) tizimini yuklash kerak. Spyder(python 3.7) tizimi tarkibida python dasturlash tilining barcha kutubxonalar mavjud. Dastur tuzishdan oldin albatta numpy numpy kutubxonasini faollashtirish kerak. Bir o‘lchovli massivlar
Odatda massivlar zarurat, katta hajmdagi tartiblangan, lekin chekli elementlarga oid masalalarni hal etishda yuzaga keladi. Massivning ixtiyoriy elementiga murojat qilish uchun uning indeks nomeri bo‘yicha murojat qilinadi. Bir o‘lchovli massivlarni python dasturlash tilida faollashtirish mumkin. Bir o‘lchovli massivlarni boshlang‘ich qiymatlari bergan holda python dasturlash tilida quyidagicha faollashtiriladi.
Massiv o’zgaruvchisi= array([x1, x2, . . . ]) Massivni python dasturlash tilida faollashtirish uchun, elementlar soni yoki massiv elementlarining boshlang‘ich qiymatlari berilishi shart emas. Python dasturlash tilida bir o‘lchovli massivni faollashtirish quyidagicha amalga oshiriladi.
Massivni umumiy ko‘rinishida birinchi massiv o‘zgaruvchisi va massiv elementlari yoziladi. Massiv elementlari, ixtiyoriy turdagi sondan iborat bo‘lishi mumkin. Lekin massiv elementlari tarkibida bitta haqiqiy son bo‘lsa boshqa elementlari ham haqiqiy deb qaraladi. Massiv elementlari soni biror bir ifoda yoki yagona o‘zgaruvchi bo‘lishi mumkin, bitta o‘zgaruvchi orqali massivning umumiy indekslarini 120 ifodalash mumkin. Massiv elementlarini ustida amallar bajarishni quyidagi masala orqali qaraymiz. Massiv elementlarini tartib nomeri doimo 0 dan boshlanadi. Misol: 10 ta elementdan tashkil topgan massiv elementlarining juft elementlarini ikkiga toq elementlarini to‘rtga ko‘paytirib ekranga chiqaring.
Massiv elementlar soni uning tarkibidagi qiymatlar orqali aniqlanadi va massivning elementlari doimo nolinchi tartibdan boshlanadi. 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.
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.
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.
Massiv elementlari ustida arifmetik amallar ham aniqlangan, massiv elementlari ustida arifmetik amallarni quyidagi dastur orqali qarab o‘tamiz.
Yuqoridagi dasturga e’tibor qaratsak, massiv elementlari ustida arifmetik amallar, massivning mos elementlari ustida bajarilmoqda.
Random funksiyasi
Massiv elementlarini ixtiyoriy tasodifiy sonlar bilan to‘ldirish uchun python dasturlash tilida imkoniyat yaratilgan. Agar massiv elementlarini tasodifiy sonlar bilan to‘ldirish kerak bo‘lsa, tasodifiy sonlar bilan ishlash funksiyasiga murojat qilish kerak. Python dasturlash tilida tasodifiy sonlarni hosil qilishni random funksiyasi va uning bir nechta kutubxonalari amalga oshiradi. [a,b] oraliqda n ta sonni tasodifiy tanlash random funksiyasining umumiy ko‘rinishi quyidagicha bo‘ladi. Random.randint(a,b,n) Random funksiyasining vazifasi biror bir o‘zgaruvchiga yoki massiv elementlariga tasodifiy sonni o‘zlashtirish uchun xizmat qiladi. Misol: A(10) massiv elementlarini tasodifiy sonlar yordamida hosil qilib uning juft elementlarini ikkiga ko‘paytirib ekranga chiqaring.
Demak, masala yechimiga e’tibor qaratsak, [1,20] oraliqdagi massivning tasodifiy sonlardan iborat 10 ta elementlari ichidan faqat 129 to‘rttasi juft son ekan. Random funksiyasining random.uniform(a,b,n) va random.normal(a,b,n) funksiyalari ham mavjud. Mavzularni o‘quvchi tez o‘zlashtirish maqsadida nisbatan oson dasturlar tanlanib olindi. Qiyinlik darajasi yuqori bo‘lgan dasturlarni yaratish uchun sintaksikani o‘rni yo‘q, unda faqat algoritmikani o‘rni bor.
Massivlar bilan ishlash
Python dasturlash tilida massivlarni tashkil qilishda LIST(RUYXAT)lardan foydalaniladi
Massivlar ustida amallar bajarish uchun quyidagi metodlardan foydalaniladi.
|