Фиксированные записи
Фиксированная запись - это структура постоянного строения, состоящая из фиксированного количества элементов (компонентов, полей). Элементы записи в ней могут быть любых типов, в том числе скаляры, множества, файлы, другие записи. Описатель типа записи RECORD. Объявление записи заканчивается словом END и может быть в разделах TYPE или VAR. Форма объявления записи:
TYPE Т = RECORD список-полей END ;
где список-полей - это последовательность определений элементов записи; определение полей может быть в виде идентификатора или списка идентификаторов полей, разделенных запятыми; за идентификаторами ставится двоеточие и имя или определение типа.
Например:
TYPE TAB = RECORD { - объявление записи в разделе TYPE }
А,В : REAL; { А и В - поля одинакового типа }
END;
VAR С : TAB;
D : RECORD{ - объявление записи в разделе VAR }
Е, F : INTEGER; END;
Пример таблицы с данными различного типа:
СВЕДЕНИЯ О СТУДЕНТАХ
Номер зачетки Фамилия и инициалы |
Размер стипендии |
93100 Иванов И. И. 2000.55 93101 Петров П. П. 2500.40 |
|
Данные таблицы могут быть объявлены в виде:
TYPE STR = RECORD { STR - имя типа записи }
NZ : 93100. .93500;
FIO : STRING[20];
RS : REAL; END;
Var stud : str; { stud - переменная типа str }
MST : ARRAY [1..20] OF STR; { MST - массив данных типа STR }
Обращение к полям записи производится с помощью составных имен: имен переменных типа запись и имен полей, разделенных точкой. Например:
STUD.NZ, STUD.FIO, MST[I].FIO, MST[I].RS.
Для вложенных полей (подструктур) уточнений имени может быть несколько. Например: А.В.С.
Пример копирования записи с помощью одного оператора присваивания: STUD := MST[I]; MST[I] := MST[J]; MST[J] := STUD;
Пример таблицы с элементом (полем) записи в виде массива:
СВЕДЕНИЯ О РЕЗУЛЬТАТАХ ЭКЗАМЕНОВ
Ф. И. 0. |
Номер зачетки |
Оценка экзамена по дисциплине |
|||
|
|
Математика |
Физика |
Программир. |
История |
Иванов И. И. |
93100 |
5 |
4 |
3 |
4 |
Петров П. П. |
93101 |
3 |
5 |
4 |
3 |
Данные таблицы могут быть объявлены в виде:
TYPE ST = RECORD { Определение типа записи }
NZ : 93100..93500;
FIO : STRING[20];
ОС : ARRAY [1..4] OF BYTE; { - поле - массив из четырех оценок }
END;
Var ekz : array [1..25] of st; { - массив записей типа st }
With - оператор присоединения
Оператор присоединения предназначен для упрощения обращения к элементам записи, а именно для обеспечения возможности обращения к элементам записи без составных имен, с помощью простых имен элементов записи.
Форма оператора WITH:
WITH список-имен-записей DO S ;
где S - один оператор, простой или составной (блок).
WITH обычно используется в тех случаях, когда надо выполнить несколько действий над одним или несколькими полями записи. Например:
WITH Y[I] DO IF DEN > 15 THEN WRITE (' Вторая половина месяца');
Это эквивалентно записи: IF Y[I].DEN > 15 THEN WRITE (' Вторая половина месяца');.
