«Алгоритмдер, мәліметтер құрылымы және программалау»



бет8/12
Дата30.06.2016
өлшемі0.74 Mb.
#167015
1   ...   4   5   6   7   8   9   10   11   12

10 апта



. Деректердің құрылымданған типі: массивтер.Бірөлшемді және көпөлшемді массивтер.
Массивтер

Қарапайым типтер қатарына жататын стандартты (Integer, real) және қолданушылар (тізбектелген тип) типтерінде бір айнымалыны сақтау үшін, негізінен компьютер жадысының бір ғана ұяшығы қолданылады. Бірақ көпетген программаулау есептерінің шешімін табу барысында әрбір элементтің деректерін жеке айнымалыға сақтау орнына, оларды тізбектеп бір жерде сақтау анағұрлым тиімді болып табылады.



  1. Бір өлшемді массивтер

Бір типтес берілгендерден құралып, барлық элементтеріне бір ортақ атау берілген жиынды массив деп атаймыз. Массив құрылымдық типтер қатарына жатады. Массив элементтері нөмірленеді. Массивтің әрбір элементіне индексін көрсету арқылы жұмыс істеуге болады. Массивке мысал ретінде векторларды қарастыруға болады. Егерм массивке кестелік берілгендер жазылса ( матрица), онда элементтері екі индекс бойынша нөмірленеді.

Массив сипаттамалары:



  • Типі – массив элементтерінің жалпы типі;

  • Көлемі – массив индексінің саны;

  • Шектелімі - әрбір индекстардің шектеу бойынша сәйкестігі;

  • Пішімі – көлем және шектеулер жиындары.

Массивтер элементтерімен жұмыс жасау барысында, массив атауынан кейін міндетті түрде тік жақшаға алынған индекс көрсетіледі. Индекс ретінде сандар қолданылады.

Массивтерді қолдану үшін оларды типтер (type) немесе айнымалыларды сипаттау (var) бөлімінде хабарлану қажет.

Жалпы жазылу түрі:

Type

Массив типінің атауы = array [индекс типі] of элемент типі;

Var

Массив атауы: массив типінің атауы;

Мысалы:

Type



GRUP = array [1…8] of integer;

Var

A:GRUP; {А – массивіне жады бөлу }

Мұндағы:


Массив типінің атауы – массив элементтерінің жиынын сипаттайды;

Индекс типі - тізбектелген немесе шектелген типтерді көрсету;

Элемент типі – массив элементтерінің типін көрсету.

Берілген мысалдағы массивтің әрбір элементімен жұмыс істеу үшін, массив атауы және индексі берілуі тиіс. Массив индексі тік жақшаға алынып жазылады, сол себепті массивтің кез келген элементіне қатынас алуға болады.

Яғни берілген массивиің бірінші элементіне қатынас алу үшін массив атауынан кейін бірінші индексті көрсету қажет: A[1]; массивтің екінші элементіне қатынас алу үшін; A[2]; ал А массивінің сегізінші элементіне: A[8] көрсетіледі

A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8]



12

11

5

-2

405

-3

9

-7

Массив- тің бірінші элементі

Массив-тің екінші элементі

Массив-

тің үшінші элементі



Массив-

тің төртінші элементі



Массив-тің бесінші элементі

Массив-

тің алтыншы элементі



Массив

-тің жетінші элементі



Массив-тің сегізінші элементі

Берілген массивтің кез келген элементтеріне арифметикалық операцияларды, салыстыру және меншіктеу операторларын қолдануға болады. Сонымен қатар, массивтерге Turbo Pascal программалау тіліндегі айнымалы типіне сәйкес келетін барлық стандартты процедуралар және функциялар қолданылады.

Массивтің кез-келген бір элементіне элементіне нәтиже беру үшін, меншіктеу операторы қолданылады:



Массив атауы[индексі]:=нәтиже

Мысалы:


а) А массивінің бірінші элементіне- 12 санын меншіктеу үшін: А[1]:=12;

ә) А массивінің бесінші элементіне- 405 санын меншіктеу үшін: А[5]:=1405;

б) А массивінің екінші элемент нәтижесін экранға- шығару үшін: writeln (A[2]); (экранға 11 шығады.)

в) А массивінің бесінші элементіне нәтижені пернелер тақтасы көмегімен енгізу үшін: readln(A[1]);

г) А массивінің бірінші және үшінші элементтерін қосындысын Sum айнымалысына меншіктеу үшін: Sum:=A[1]+A[3];(нәтижесінде Sum айнымалысына 17 саны меншіктеледі).
Бірөлшемді массивтер элементтерімен жұмыс.

Массивтің кез-келген элементерімен жұмыс істегенде программалау барысында олардың индекісінің мәні сипатталған шектеуден аспауы тиіс.

Егер массив индексінің мәні сипатталған шектеуден асып кетсе онда, синтаксистік қате тіркеліп, экранда “Index type is not compatible with declaration” деген сөз тіркестері шығарылады.

Массивтер қолдпанылатын программаларда “{R+}” директивасын жазу арқылы массивтің шектеулерін тексеруге болады. Егер прогаммада“{R+}” директивасы беріліп, массив индексі шектеуден асып кетсе, онда экранға “Range check error” сөз тіркесі шығарылады.

Массивтерді программада қолдану үшін Turbo Pascal програмаллау тілінде оларды бірден var бөлімінде сипаттау жолы қарастырылған.

Жалпы жазылу түрі:

Var

Массив атауы : array (индекс типі) of элемент типі;



Мысалы, бөлшек сандарға арналған он сегіз элементтен тұратын GR массивін сипаттау:

Var


GR: array [1...18] of real;

Берілген тоғыз элементтен тұратын А масчсивіне бөлшек сандар енгізіп, оларды дисплей бетіне ретімен шығару программасын қарастырайық:

{$ R+}

PROGRAM MASSIV; {Программа атауы}

Type { Типтерді сипаттау бөлімі }

Mas = array [1..9] of real; { Шарт бойынша массив типі }

Var {айнымалыларды сипаттау бөлімі}

A: Mas; {Mas типті А - массиві}

I: integer; {циклді басқару айнымалысы}

BEGIN {негізгі программа басы}

WRITELN (‘A – массивінің 9 элементін енгізіңіз:’);

` FOR I:= 1TO 9 DO {I- бойынша цикл}

READ (A[i]); {A[i] массивіне нақты сандарды енгізу операторы}

FOR I:=1 to 9 do {I- бойынша цикл}

WRITE(‘A[‘,I,’]=’,A[I]); {A[I] массивінің элементін дисплейге шығару операторы}



END. {Негізгі программа соңы}
Өзін тексеру сұрақтары

  1. Екі өлшемді массивті сипаттау?

  2. Екіөлшемді массив элементіне қатысу?

  3. Екі өлшемді массивті толтыру?

  4. Екіөлшемді массивті экранға шығару?


Әдебиет: (1) бет. 140-153



Достарыңызбен бөлісу:
1   ...   4   5   6   7   8   9   10   11   12




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

    Басты бет