Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Записи.doc
Скачиваний:
7
Добавлен:
01.12.2018
Размер:
240.64 Кб
Скачать

5. Теоретичні відомості

5.1. Тип даних «Запис»

Запис – це структура даних, що складається з фіксованого числа компонентів, які називаються полями.

Тип «запис» – це об’єднана разом під одним іменем наперед визначена сукупність змінних різного типу.

Загальний опис декларації типу «запис»:

<ім’я типу> = RECORD <список ідентифікаторів полів

із зазначенням їх типів>

END;

де

<ім’я типу> – ідентифікатор;

RECORD, END – зарезервовані слова;

<список ідентифікаторів полів із зазначенням їх типів> – послідовність розділів запису. Після кожного розділу ставиться точка з комою. Кожен розділ запису складається з одного чи декількох ідентифікаторів полів, відокремлених один від одного комою. Після ідентифікатору вказується двокрапка та назва типу поля (полів розділу).

Наприклад,

type

TPerson = record {Тип «запис» для опису даних про людину}

Surname, Name : String; {Прізвище, ім’я}

Year : Word; {Вік}

end;

var

a, b : TPerson; {Декларація двох змінних типу «запис»}

До кожного поля запису можно отримати доступ, якщо використовувати складене ім’я, тобто необхідно вказати назву запису, потім крапку та ім’я поля.

a.Surname := 'Іванов';

a.Name := 'Іван';

a.Year := 1986;

Для спрощення доступу до полів запису можна використовувати оператор приєднання WITH:

WITH <ім’я змінної типу record> DO <оператор>

де

WITH, DO – зарезервовані слова;

<оператор> будь-який оператор.

Наприклад,

type

TPerson = record {Тип «запис» для опису даних про людину}

Surname, Name : String; {Прізвище, ім’я}

Year : Word; {Вік}

Addr : record {Вкладена запис для опису адреси проживання}

Index, Town, Street : String; {індекс, місто, вулиця}

House, Flat : Integer;{номер будинку та квартири}

end;

end;

var

a : TPerson;

BEGIN

with a do

begin

Surname := 'Іванов';

Year := 1986;

with Addr do Index := ’49026’;

end;

with a.Addr do

begin

Town := ’Дніпропетровськ’;

Street := ’пр. ім. газ. Правди’;

end;

END.

Якщо необхідно обробити сукупність різнорідних даних, наприклад, організувати роботу з каталогом книг чи з прайс-листом, тоді треба використовувати масив з елементами типу «запис».

Загальний опис декларації типу «масив з елементами типу запис»:

type

<ім’я типу масив> = array [<діапазон>] of <ім’я типу запис>;

Спочатку слід описати тип «запис», а потім тип «масив з елементами типу запис».

Наприклад,

type

TPerson = record {Тип «запис» для опису даних про людину}

Surname, Name : String; {Прізвище, ім’я}

Year : Word; {Вік}

end;

{Тип «Група з 10 чоловік»}

TArrPerson = array [1..10] of TPerson;

Для отримання доступу до елементу масиву необхідно написати вираз, що складається з імені змінної типу «масив», а потім в квадратних скобках вказати номер елементу.

Якщо необхідно отримати доступ к полю елементу масиву, тоді слід написати вираз:

<ім’я масиву записів> [<номер елементу масиву>].<ім’я поля запису>

Наприклад,

Var

A : TArrPerson; {змінна – масив записів}

i : integer; {номер елементу масиву}

Begin

...

for i:=1 to 10 do {цикл вводу даних про 10 людей}

begin

writeln(’ ’,i);

write(’Вкажіть прізвище, ім’я людини => ’);

readln(A[i].Surname, A[i].Name);

write(’Вкажіть рік народження людини => ’);

readln(A[i].Year);

end;

...

End.