Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Складні типи даних.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
120 Кб
Скачать
☆

10.1. Поняття запису

Запис представляє собою сукупність обмеженої кількості даних різного типу. Поняття запису розглянемо на прикладі відомості списку студентів з їх оцінками (табл.1).

Таблиця 1

№ з/п

Прізвище та ініціали студента

Оцінки (бали)

модуль 1

модуль 2

Лаб.роб.

1.

Андрюхін В.Б.

30

30

40

2.

Весна В.В.

26

20

36

3.

Дорошенко К.Ю.

28

24

40

4.

…

Кожний рядок у цій відомості складається з окремих елементів – даних різного типу:

а) номер за порядком – ціле десяткове число;

б) прізвище та ініціали студента – масив символів;

в) оцінки – масив цілих чисел.

Ці дані можна об’єднати в одну групу і вважати записом. Запис в цілому і окремі його елементи позначаються іменами. Позначимо, наприклад, ім’я записів – АВБ, ВВВ, ДКЮ, номер за порядком – Н, прізвище та ініціали – П; оцінки – О.

Звернення до елемента запису в програмі виконується за допомогою уточненого (складеного ім’я). Уточнене ім’я містить ім’я запису та ім’я елемента і записується в наступному вигляді:

ім’я запису.ім’я елементу

У нашому прикладі для першого запису звернення матимуть вигляд: АВБ.Н; АВБ.П ; АВБ.О.

Записи, як і інші дані, оголошуються в розділі описів і використовуються в розділі операторів.

Оголошені записи можна робити в розділі змінних VAR або з використанням розділу типів TYPE.

Оголошені запису в розділі змінних має наступний вигляд:

VAR _ ім’я запису: RECORD

ім’я елемента 1: тип;

ім’я елемента 2: тип;

…

ім’я елемента n: тип

END;

Тут службове слово RECORD (запис) виконує роль відкриваючого операторної дужки, END – закриваючого операторної дужки. Всередині – описуються елементи запису. Допускається замість імені запису вказувати список імен, тобто імена записів, поділені комами. Елементи запису разом з їх описом називаються полями запису.

Для представленої відомості оголошення запису виглядає наступним чином:

VAR АВБ, ВВВ, ДКЮ: RECORD

Н: INTEGER;

Ф: ARRAY [1..20] OF CHAR;

О: ARRAY [1..3] OF INTEGER

END;

Де на прізвище визначений упакований масив з 20 елементів (зайві позиції у прізвищі можна заповнювати пробілами), на оцінки – масив з 3 елементів (3 оцінки).

Розглянемо найбільш універсальну форму оголошення запису – з використанням розділу типів:

TYPE _ ім’я типу: RECORD

ім’я елемента 1: тип;

ім’я елемента 2: тип;

…

ім’я елемента n: тип

END;

VAR _ ім’я запису: ім’я типу;

Оголошення відомості, якщо дан тип ВІДОМІСТЬ, можна зробити наступним чином:

TYPE ВІДОМІСТЬ=RECORD

Н: INTEGER;

Ф: ARRAY [1..20] OF CHAR;

О: ARRAY [1..3] OF INTEGER

END;

VAR АВБ, ВВВ, ДКЮ: ВІДОМІСТЬ;

Елемент запису використовується в програмі у тому ж самому значенні, як і звичайна змінна. Таким чином, елемент запису можна вказувати як ліворуч оператора присвоювання, так і у виразах. Над елементом запису можна виконувати дії, які допустимі для даних його типу. Якщо елемент запису – цілий, то виконуються всі операції, допустимі для цілих даних. Так, для розглянутої відомості над елементами запису можна виконати, наприклад, наступні операції:

– знайти семестрову рейтингову оцінку (суму трьох оцінок):

S:=АВБ.О[1]+АВБ.О[2]+ АВБ.О[3]

– ввести значення номера за порядком:

READ(АВБ.Н)

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