Ma’lumotlar massivi haqida tushuncha

11.2. Ma’lumotlar massivi haqida tushuncha
Kundalik hayotimizda ko‗p turdagi jadvallardan foydalanamiz: dars jadvali,
ko‗paytirish jadvali, shaxmat yoki futbol o‗yinlari bo‗yicha musobaqa jadvali,
matematik jadval va boshqalap. Jadvalni tashkil etuvchilar uning elementlari
deyiladi.
Jadval ko‗rinishidagi miqdorlar bir o‗lchovli (chiziqli), ikki o‗lchovli (to‗g‗ri
to‗rtburchakli) yoki ko‗p o‗lchovli shakllarda bo‗ladi. Paskal tilida bir, ikki va ko‗p
o‗lchovli jadval miqdorlar ustida ishlash mumkin.
Bir o‗lchovli jadvallar ba‘zan chiziqli jadvallap deb ham yuritiladi. Chiziqli
jadvallap satr yoki ustun shaklida ifodalanadi. Jadvalning har bir elementiga aniq
tartib soni mos keladi va aksincha, tartib soni berilgan bo‗lsa, jadvalning qaysi
elementi to‗g‗risida so‗z borayotgani tushunarli bo‗ladi. Bir o‗lchovli jadvalga misol
sifatida haftaning har kunida o‗lchangan havoning o‗rtacha haroratini keltipish
mumkin:
Hafta kuni
1
2
3
4
5
6
7
O‗rtacha harorat 18 19 15.9 16 17 16.8 17.4
Agar bu jadvalning nomini A deb belgilasak, u holda 18 dan 17,4 gacha
bo‗lgan sonlar A jadval elementlari, 1 dan 7 gacha bo‗lgan sonlar esa A jadval
elementlarining tartib raqamini bildiradi. Bu yerda jadvalning 5-tartib raqamiga ega
bo‗lgan son 17 sonidan iborat bo‗lib, u A(5)=17 kabi belgilanadi. Umuman, har bir
jadval kattalik o‗z nomiga va uning tashkil etuvchi elementlari o‗z tartib raqamlariga
ega bo‗ladi, chunki kerakli element ustida amal bajarish uchun uning tartib raqamini
bilish talab etiladi.
109
Ikki o‗lchovli jadvallar to‗g‗ri to‗rtburchakli jadvallar deb ham yuritiladi.
Ikki o‗lchovli jadvallarni yozish ham chiziqli jadvallarni yozish kabi bo‗ladi. Faqat
bu holda elementni ifodalash uchun ustun va satr qatnashadi. Bunda birinchi o‗lchov
satrning tartib raqami bo‗lsa, ikkinchi o‗lchov ustunlarniki bo‗ladi. Ana shunday
jadvallardan Paskal va Delphi programmalash tillarida foydalanish uchun massiv
tushunchasi kiritilgan.
Programmalashda massivning (ya‘ni jadvalning) nomi qaysi turga (butun,
haqiqiy yoki belgili) tegishli bo‗lsa, massivning barcha elementlari ham shu turga
tegishli bo‗ladi. Programmalash tillarida jadval miqdorlardan foydalanish uchun
jadvalni tavsiflash va kerakli jadval elementini ko‗rsatish kerak bo‗ladi.
Jadvalni tavsiflash deganda jadvalning nomini, jadval elementlarining turini
(tipini), jadvalning o‗lchovini va jadval elementlarining sonini aniqlash tushuniladi.
Jadval elementini ko‗rsatish deganda esa jadval nomi va elementining
jadvaldagi tartib raqamini aniqlash tushuniladi.
Massiv elementining jadvaldagi o‗rnini ko‗rsatishda unda kesishgan satr va
ustun tartib raqamlaridan foydalaniladi.
Massiv elementining tartib raqamlari uning indeksi deyiladi va ular qavs ichida
ko‗rsatiladi. Satr va ustun tartib paqamlari har doim 0 dan boshlanadi. Masalan,
ikki o‗lchovli E massiv berilgan bo‗lsin:
6
9
8
4
3
5
0
2
1
E
Ko‗rinib turibdiki, bu jadvalda uchta satr va uchta ustun mavjud bo‗lib, uning
elementlari faqat butun sonlardan iborat. Demak, bu E nomli 3x3 elementdan
iborat to‗g‗ri kvadrat jadvalni ifodalaydi. Agar satr tartib raqamini i va ustun tartib
raqamini j deb belgilasak, jadvalni quyidagicha tasvirlash ham mumkin:
110
j
i
E
E
E
E
E
E
E
B
E
E
E
33
32
31
23
22
21
13
12
11
bu yerda,
3
,
2
,
1
i
va
3
,
2
,
1
j
.
Endi bu jadvalning elementlarini E(1,1), E(1,2) va hokazo kabi yozish
mumkin. Umumiy holda indeks sifatida o‗zgaruvchi yoki ifoda qo‗llaniladi.
Masalan, i =1 va j =2 bo‗lsa, E(i, j) = 2 bo‗ladi. Bu birinchi satr va uchinchi ustun
kesishgan joydagi elementdir.
Paskal tilida programma tuzganda massivlarni dastlab programma sarlavhasida
xuddi oddiy o‗zgaruvchilarni tasvirlagandek tasvirlash mumkin.
:Array[o‗lcham] of ;
Masalan:
A,B:Array[1..100] of real;
C,A1,D:Array[1..10,1,,15] of real;
Bu erda A va B massivlari 100tadan elementga ega. C,A1,D1 massivlari esa
10x15=150 tadan elementga ega.
Massivlarni e`lon qilishdan maqsad massiv elementlari uchun kompyuter
xotirasidan joy ajratishdir.
Massiv elementlari qiymatlarini kiritish uchun sikl operatorlaridan
foydalaniladi.
Misol: For i:=1 to 10 do Read(A[i]);
Bu misolda A massivning 10 ta elementi qiymatini ekrandan ketma-ket kiritish
kerak bo‗ladi. Xuddi shunday massiv qiymatlarini ekranga chiqarish ham
mumkin.
Misol: For i:=1 to 10 do Write(A[i]);
Dasturda massiv elementlarini ishlatganda ularning indeksi e`lon qilingan
chegaradan chiqib ketmasligi kerak.
|