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(АВБ.Н)
Звернення до запису в цілому, а не тільки до його елементів, допускається тільки в операторі присвоювання. Ліворуч і праворуч від знака присвоювання при цьому повинні використовуватися імена записів однакового типу.
