Жиымдармен орындалатын операциялар. Жиымдармен тек меншіктеу операциясын орындау ғана анықталған.
Меншіктеу – бір жиым элементтерін екінші жиымға көшіру.
Бұл операцияны тек бір типтес жиымдармен орындауға блады.
Егер жиымдар бір жолда үтір арқылы сипатталса, олар біртип-тес болып саналады. Мысалы:
Var a,b:array[boolean] of real; ... a:=b; ...
немесе, егер бастапқыда жиым типі анықталып, сонан кейін осы типтегі жиымдар анықталса:
Type mas=array[boolean] of real;
Const a:mas=(3.6,-5.1);
Var b:mas;
... b:=a; ...
Жиым элементтерін пайдалану – жиым элементтерімен орындалатын іс-əрекеттерді орындау болып саналады. Жиым-ның белгілі бір элементін пайдалану үшін жиым атын жəне тік жақша ішіне үтір арқылы ажырата отырып, жиым элементтерінің индекстерін көрсету керек, мысалы:
Var a:array[char,boolean] of real; {матрицаны жариялаймыз}
... a[‘A’,true]:=5.1; ... {мəнді aA,true элементіне меншіктейміз}
Индекс мəнінің нақты нөмірін тікелей, мысалы а[3] немесе жанамалы түрде, айнымалының мəні орналасқан идентифи-каторды көрсету арқылы, мысалы, a[i] деп жазуға болады.
Индекстіжанамалытүрдекөрсету–жиымэлементтерінтізбек-теп өңдеуге мүмкіндік береді. Индекстің өзгеру аралығы жиымды жариялау кезінде белгілі болғандықтан, қайталану саны белгілі циклді қолдануға болады. Цикл параметрі ретінде жиымның жанамалы түрде берілген индекстік айнымалысы қолданылады. Мысалы:
Var a:array[1..6] of integer; ...
for i:=1 to 6 do a[i]:=i; ... { i=1 болғанда a1-ге 1 меншіктеледі, i=2 болғанда a2-ге 2 меншіктеледі, i=3 болғанда a3-ке 3 меншіктеледі жəне т.с.с.}
Жиымдардың жанамалы адресіне қажет айнымалылар саны жиым мөлшеріне сəйкес келеді. Матрицамен жұмыс жасағанда индекстерді сақтау үшін, екі айнымалы қажет: бірі – жол нөмірін сақтау үшін, екіншісі – бағана нөмірі үшін.
Ескерту. Көп өлшемді жиымдардан оның ішкі бір жолын, яғни ішкі бөлігін ерекшелеп алуға болады. Ол үшін жиымның оң жақ шеткі индекстерін алып тастап, тек жолды – ішкі жиымды анықтайтын сол жақтағы индексті қалдыру керек. Осылай матрицаның тек бір жолын бөліп алуға болады. Мысалы:
Type mas=array[boolean] of real; {екі нақты саннан тұратын жиым}
Const
a:array[1..2] of mas=((2.6,-5.1),(7.0,-4.2));
{төрт нақты саннан тұратын матрица}
Var b:mas;
Begin b:=a{1}; ... {b жиымына a матрицасының бірінші жолы көшіріледі}
Достарыңызбен бөлісу: |