Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AEP_LEKTsII.doc
Скачиваний:
90
Добавлен:
28.03.2015
Размер:
1.27 Mб
Скачать

7.1 Массивтер

Индекстік массив (кейбір программалау тілдерінде кесте, қатар) — оларға қол жеткізу индексі бойынша жүзеге асырылатын, жадыда тікелей бірінен кейін бірі орналасқан біртипті айнымалылардың атау берілген жиынтығы.

Массивтің индексі – массивтің нақты бір элементіне сілтейтін бүтін сан немесе бүтінге келтірілетін типтің мәні.

JavaScript, PHP, Ruby сияқты бір қатар скриптік тілдерде сонымен қатар ассоциативті массивтер қолданылады. Оларда айнымалылардың біртипті болуы міндетті емес және оларға қол жеткізуді индекс бойынша жүзеге асыру міндетті емес.

Сонымен, массивтер компоненттің типі деп аталатын бір типтегі компоненттердің фиксацияланған мөлшер санын қамтиды. Массивтің сипатталуында компоненттің типі of сөзден кейін ілеседі. Индекстік типтерде массивтің әр өлшемі үшін біреуден элементтер саны көрсетіледі.

Рұқсат етілген индекстік типтер болып ұзын бүтіннен және ұзын бүтіннің ішкі диапазондарынан басқа барлық реттік типтер болып табылады. Элементтер саны әр индекстік типтегі мәндер санына тең. Өлшемдер саны шектелмеген. Массив типін сипаттау мысалы: array[1..100] of real

Егер массив типіндегі элемент типі де массив болса, онда нәтижені массивтердің массиві немесе көпөлшемді бір массив ретінде қарастыруға болады. Мысалы, array[boolean] of array[1..100] of array[Size] of real – ды компилятор дәл array[boolean,1..10,Size] of real сияқты интерпретациялайды, сонымен қатар: packed array[1..10] of packed array[1..8] of Boolean өрнекті packed array[1..10,1..8] of boolean ретінде жазуға болады. Массив элементтеріне қол жеткізу үшін бір немесе бірнеше индекстері жақшаларға алынған массив идентификаторын көрсету керек. Мысалы: a[i,j] := 1. packed array[m..n] of char мұндағы m < n, түрге ие болатын массив типі қапталған (упакованный) жолдық тип деп аталады (packed сөзін жазбай тастап кетуге болады, себебі ол Паскальда әсерін тигізбейді). Қапталған жолдық тип массивтердің басқа типтеріне тән емес бірнеше қасиеттерге ие. Типтерді сипаттау бөлімін ұйымдастыру мысалы:

type

Range = integer;

Number = integer;

Color = (red,green,blue);

TextIndex = 1..100;

TestValue = -99..99;

TestList = array[TestIndex] of TestValue;

TestListPtr = ^TestList;

Date = record

year: integer;

month: 1..12;

day: 1.. 31;

end;

MeasureData = record

when: Date;

count: TestIndex;

data: TestListPtr;

end;

{жалғасы}

MeasureList = array[1..50] of MeasureData;

Name = string[80];

measureList = array[1..50]

of MeasureData;

Sx = (male,female);

Person = ^PersonData;

PersonData = record

name,firstName: Name;

age: integer;

married: boolean;

father,child,sibling: Person;

case s: Sx of male: (bearded: boolean);

female: (pregnant: boolean);

end;

People = file of PersonData;

IntFile = file of integer

Бұл мысалда Range, Number және integer барабар (ұқсас) типтер болып табылады. TestIndex типі Number, Range және integer типтеріне жай үйлесімді және меншіктеу бойынша үйлесімді бырақ барабар емес.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]