Для работы с группой данных различного типа введено понятие записи.
В языке программирования Паскаль запись представляет собой совокупность ограниченного числа данных различного типа.
Примерызаписей:
1) Данные о студенте:
Фамилия – массив символов,
Имя – массив символов,
Год рождения – целое число,
Название института – массив символов.
2) Формуляр книги в библиотеке:
Автор – массив символов,
Название – массив символов,
Год издания – целое число,
Издательство – массив символов,
Количество страниц – целое число,
Цена – действительное число.
Все данные можно объединить в одну группу и считать записью. Запись в целом и отдельные её элементы обозначаются именами.
К каждому элементу записи можно обратиться с помощью уточнённого имени. Оно содержит имя записи, а через точку – имя элемента.
Запись, как и другие данные, объявляется в разделе описаний и используется в разделе операторов.
Описание записи имеет следующий вид:
Type имя_типа = Record
Имя_элемента 1: тип;
Имя_элемента 2: тип;
…………
Имя_элемента n-1: тип;
Имя_элемента n: тип;
End;
Var имя_записи: имя_типа;
Здесь служебное слово Record (запись) выполняет роль открывающей операторной скобки, End – закрывающей операторной скобки. Внутри операторных скобок описываются элементы записи. Допускается вместо имени записи указывать список имён, то есть имена записей, разделённые запятыми.
Элементы записи вместе с их описанием называются полями записи.
Пример.
Список 1 Список 2
No Фамилия Оценки 1 ------------
1 ------------ (4 штучки 2 ------------
2 ------------ у каждого) 3 ------------
3 ------------ ………… 4 ------------
Type T = Record
N: Integer:
Name: Array [1..10] of Char;
Ball: Array [1..4] of Integer;
End;
Var C1, C2: T;
Здесь сначала введён тип записи Т, а затем в разделе переменных указано, что переменные С1 и С2 имеют тип Т.
Каждый элемент записи имеет своё описание:
N – переменная целого типа,
Name – массив из 10 символов (если фамилия содержит меньше 10 букв, то оставшиеся позиции заполняются пробелами),
Ball – массив из 4-х целых чисел (4 оценки за экзамен).
Допускается описание записи непосредственно в разделе переменных:
Var имя_записи: Record
Имя_элемента 1: тип;
Имя_элемента 2: тип;
…………
Имя_элемента n-1: тип;
Имя_элемента n: тип;
End;
Элемент записи используется в программе в том же самом смысле, как и обычная переменная. Таким образом, элемент записи можно указывать как в левой части оператора присваивания, так и в выражениях в правой части. Над элементами записи можно выполнять все действия, которые допустимы для данных его типа. Например, если тип элемента записи – целый, то можно выполнять все операции, допустимые для целых данных. Так, для рассмотренного примера (экзаменационной ведомости) над элементами записи можно, например, выполнить следующие операции:
а) ввести значения порядковых номеров
Read(C1.N);
Read(C2.N);
б) вычислить сумму первых двух оценок
Summa1 := C1.Ball[1] + C1.Ball[2];
Summa2 := C2.Ball[1] + C2.Ball[2];
Обращение к записи в целом, а не только к отдельным её элементам, допускается лишь в операторе присваивания. Слева и справа от знака присваивания при этом должны использоваться имена записей одинакового типа.