Оқулық Қазақстан Республикасы Білім жəне ғылым министрлігі бекіткен Алматы, 2011 1


Жиымдармен орындалатын операциялар



бет65/210
Дата06.01.2022
өлшемі4,42 Mb.
#16437
түріОқулық
1   ...   61   62   63   64   65   66   67   68   ...   210
Байланысты:
boribaev-algoritmdeu

Жиымдармен орындалатын операциялар. Жиымдармен тек меншіктеу операциясын орындау ғана анықталған.
Меншіктеу – бір жиым элементтерін екінші жиымға көшіру.
Бұл операцияны тек бір типтес жиымдармен орындауға блады.
Егер жиымдар бір жолда үтір арқылы сипатталса, олар біртип-тес болып саналады. Мысалы:
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] деп жазуға болады.
Индекстіжанамалытүрдекөрсету–жиымэлементтерінтізбек-теп өңдеуге мүмкіндік береді. Индекстің өзгеру аралығы жиымды жариялау кезінде белгілі болғандықтан, қайталану саны белгілі циклді қолдануға болады. Цикл параметрі ретінде жиымның жанамалы түрде берілген индекстік айнымалысы қолданылады. Мысалы:

9–1618 129



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 матрицасының бірінші жолы көшіріледі}


Достарыңызбен бөлісу:
1   ...   61   62   63   64   65   66   67   68   ...   210




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет