Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основи технології алгоритмізації.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
32 Кб
Скачать
☆

3.2Структурний тип даних масив

 

Кожне значення регулярного типу складається з фіксованого числа елементів однієї й тієї ж базового типу. Такий спосіб освіти нових значень (фіксований число однотипних компонент) дозволяє позначати значення цих типів одним (груповим) ім'ям. Об'єкт регулярного типу часто називають масивом, а групове ім'я використовують у ролі імені цього масиву. Доступ до окремих елементах масивів організується у вигляді вказівки імені масиву і порядкового номери (індексу) необхідного елемента.

Для коректного визначення регулярного типу що необхідно дати дві характеристики: тип елементів масиву, і навіть кількість і «спосібнумерования» елементів. Останні характеристики задаються у вигляді вказівки типу індексу [1, з. 259].

Визначення масиву має наступний загальний вигляд:

Type A =array [T1] ofT2;

 

Тут Array, of – службові слова; Т1 – тип індексу масиву; Т2 – тип компонент масиву.

Надалі ідентифікатор цього можна використовувати описання змінних.

Як типу індексу може бути будь-який дискретний тип, крім LongInt і обмежених типів, побудованих з типу LongInt, зокрема, припустимі обмежені іперечислимие типи.Элементами масиву може бути перемінні будь-якого типу.

Нижче наведені описи різноманітних масивів:

 

Type

M1 =array [1..100] of real;

M2 =array [char] ofboolean;

Matrix =array [ 1..10 ] ofarray[1..20] ofinteger;

Database =array [1..Max F] offile ofPerson;

Var

Vector: M1;

Sym_Table:M2;

Arr1,Arr2:Matrix;

P.S:array [>Red,Yellow,Green] ofboolean;

  Кількість елементів в масиві завжди має бути фіксоване. Для завдання кількості елементів масиву використовується тип; число елементів визначається кількістю можливих значень зазначеного типу, що відрізняє мову Паскаль від інших мов, у яких розмір масиву задається або цілим числом (чи вираженням цілого типу), або діапазоном цілих чисел. Це вселяє Паскалю додаткову гнучкість, дозволяючи «нумерувати» елементи масиву як цілими числами, а й значеннями довільного цілого типу.

Як елементів масиву можуть виступати значення будь-якого типу; зокрема, ними може бути значення будь-яких складових типів, наприклад, масиви:

 

Var

V2:array [1..10] ofarray [1..20] ofbyte;

Таку зміну можна трактувати подвійно: як масив, що з кількох масивів, або одностайно двомірний масив (матрицю). Для скорочення запис у цьому випадку можна використовувати еквівалентну форму визначення регулярних типів, де у квадратних дужках вказується список типів індексів, розділених комами, хоча б масив можна описати:

 

Var

V2: array [ 1..10, 1..20 ] of ofbyte;

 

Кількість індексів у визначенні (тобто. розмірність масиву) у мові не обмежується.

Паскаль допускає єдине можливе дію над масивом загалом: використання її у операторі присвоювання, наприклад, Vect1:=Vect2; причому типи обох масивів мали бути зацікавленими еквівалентні.

Елемент масиву вважається перемінної; може отримувати значення (наприклад, в операторі присвоювання), і навіть брати участь у висловлюваннях, де він уявляє значення, вміщене в відповідний елемент даного масиву [2]. Асортимент операцій над елементами масиву повністю визначається типом цих елементів (базовим типом масиву).