Bir o’lchamli massivlar va ular ustida amallar. Massiv - bu bir xil tipli, chekli qiymatlarning tartiblangan to’plamidir. Massivlarga misol sifatida matematika kursidan malum bo’lgan vektorlar, matrisalar va tenzorlarni ko’rsatish mumkin.
Programmada ishlatiluvchi barcha massivlarga o’ziga xos ism berish kerak. Massivning har bir hadiga murojaat esa, uning nomi va o’rta qavs ichiga olib yozilgan tartib hadi orqali amalga oshiriladi:
[]
bu erda - massiv hadining joylashgan o’rnini anglatuvchi tartib qiymati.
Umuman olganda, o’rnida qatnashishi ham mumkin. Indeksni ifodalovchi ifodaning tipini – indeks tipi deb ataladi. Indeks tipining qiymatlar to’plami albatta nomerlangan to’plam bo’lishi, shu bilan bir qatorda, massiv hadlari sonini aniqlashi va ularning tartibini belgilashi kerak.
Massivlarni elon qilishda indeks tipi bilan bir qatorda massiv hadlarining tipi ham ko’rsatilishi kerak. Bir o’lchamli massivni elon qilish quyidagicha amalga oshiriladi:
array [] of ;
Ko’pincha sifatida cheklanma tiplardan foydalaniladi, chunki bu tipga tegishli to’plam tartiblangan va qatiy nomerlangandir. Misol uchun, 100 ta haqiqiy sonli hadlardan iborat massiv quyidagicha elon qilinadi:
array [1..100] of real;
Massivlarni elon qilish haqida to’liqroq malumot berish uchun turli tipdagi indekslarga oid misollarni etiboringizga havola qilamiz:
array [1000..5000] of integer;
array [-754..-1] of byte;
array [0..100] of real;
array [0..10] of boolean;
array [10..25] of char;
type
chegara = 1..100;
vektor = array [chegara] of real;
massiv1 = array [115..130] of integer;
massiv2 = array [-754..-1] of integer;
var
A,B: vektor;
c,d : massiv1;
e: massiv2;
7. var
r, t: array [chegara] of real;
s, q: array [115..130] of integer;
p: array [-754..-1] of integer;
k, m: array [1..50] of (shar, kub, doira);
8. type kv1 = (yanvar, fevral, mart);
var t, r: array [kv1] of real;
9. type
belgi = array [boolean] of integer;
belgi_kodi = array [char] of integer;
var
k : belgi;
p : belgi_kodi;
Endi massivlar ustida tipik amallar bajaruvchi bir nechta programma bilan tanishib chiqaylik.
Bir o’lchamli, n ta hadli (n=30) massiv hadlarini yig’ish.
Program L1;
const n=30;
var
i: integer;
x: array [1..n] of real;
S: real;
begin
for i: =1 to n do readln (x[i]); { massiv hadlarini kiritish}
S: =0;
for i: =1 to n do S: =S+x[i];
writeln (‘natija=’, S)
end.
2. Bir o’lchamli, n ta hadli (n=30) massiv hadlarining eng kattasini topish va uning joylashgan joyini aniqlash.
Program L2;
const n=30;
type
gran = 1..30;
vector = array [gran] of real;
var
x: vector;
S: real;
i, k: integer;
begin
writeln (‘ x - massivi hadlarini kiriting’);
for i: =1 to n do readln (x[i]);
S: =x[1]; k: =1;
for i: =2 to n do
if x[i] > S then
begin
S: =x[i]; k: =i
end;
writeln (‘x massivininig eng katta hadi’);
writeln (S);
writeln (‘max(x) ning o’rni’, k)
end.
3. n ta hadli (n = 15) vektorlarning skalyar ko’paytmasini aniqlash.
Program L3;
const n=15;
type
gran = 1..n;
mas = array [gran] of real;
var
i: byte;
S: real;
x, y: mas;
begin
writeln (‘x va u massiv hadlarini kiriting’);
for i: =1 to n do readln (x[i]);
for i: =1 to n do readln (y[i]);
S: =0;
for i:=1 to n do S:= S + x[i] * y[i];
writeln (‘natija’, S)
end.