44-amaliy mashg’ulot: Massiv tushunchasi. Bir o‘lchamli massivlar - bet 2

|
44-amaliy mashg’ulot: Massiv tushunchasi. Bir o‘lchamli massivlar
|
bet | 2/2 | Sana | 25.12.2023 | Hajmi | 20,33 Kb. | | #128103 |
Bog'liq A-iy 44mNatija
[ 4 4 12 8 20 12 28 16 36 20]
Python dasturlash tilida massiv elementlari boshlang‘ich qiymatlarini
bermasdan faollashtirishh quyidagicha.
= array([ ])
Bunda massiv elementlari kvadrat qavs ichida yozilmaydi ya’ni
bo‘sh holda qoldiriladi, bunda massiv elementsiz shakllanadi.
from numpy import*
a=array([])
print(a)
Natija
[]
|
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.
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.
from numpy import*
from math import*
L=arange(0, 2*pi, pi/6)
S=array(L)
for i in range(len(L)):
print(S[i])
Natija
0.0
0.5235987755982988
1.0471975511965976
1.5707963267948966
2.0943951023931953
2.617993877991494
3.141592653589793
3.665191429188092
4.1887902047863905
4.71238898038469
5.235987755982988
5.759586531581287
|
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
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)
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 ]
|
Yuqoridagi dasturga e’tibor qaratsak, massiv elementlari ustida
arifmetik amallar, massivning mos elementlari ustida bajarilmoqda.
|
| |