Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 3 Сложные типы данных.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
73 Кб
Скачать
☆

Фиксированные записи

Фиксированная запись - это структура постоянного строения, состоящая из фиксированного количества элементов (компонентов, полей). Элементы записи в ней могут быть любых типов, в том числе скаляры, множества, фай­лы, другие записи. Описатель типа записи 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 (' Вто­рая половина месяца');.