Переменные типа RECORD
Опр. Запись (record) – информационный объект объединяющий в единое целое нескольких информационных объектов разного типа.
Для обеспечения доступа к образующим объект-record элементам, эти элементы наделяются уникальными, но только внутри самого объекта, именами.
Синтаксис описания новой структуры (типа) класса record:
Type Итипа= record
ИмяИО1: ТипИО1;
ИмяИО2: ТипИО2;
.........
end;
· Итипа – идентификатор (название) вводимой (придумываемой программистом!) структуры информационного объекта,
· =– символ-разделитель (избыточный синтаксис языка),
· Record – ключевое слово описания структуры,
· ИмяИО1 – идентификатор (название) элемента включаемого в структурированный информационный объект,
· : - символ-разделитель (избыточный синтаксис языка),
· ТипИО1 –описание типа этого элемента,
· ; – символ-разделитель описаний отдельных элементов (избыточный синтаксис языка),
· end – стандартный символ-разделитель, фиксирующий конец описания новой структуры.
Пример:
{Прагматика: Переменные типа TLL будут использованы для размещения исходных данных о ломаных линиях с количеством узловых точек от 1 до 100}
Type TLL = record
N: byte; {кол-во заданных узлов ломаной}
X, Y: array[1..100] of real { декартовые координату узловых точек}
end;
Семантика оператора: запомни имя TLL как название структуры информационных объектов из класса RECORD, которые состоят из переменной с именем N типа BYTE и вещественных массивов с именами X и Y.
Фрагмента оперативной памяти содержащий переменную типа TLL :
N | X[1] | X[2] | .... | X[100] | Y[1] | ... | Y[100] | ||
....... | 1 байт | 6 байт | 6 байт | 6 байт | 6 байт | 6 байт | ......... |
Команда на отведение места памяти для размещения двух переменных с именами L1, L2 и типа TLL имеет стандартный вид:
Var L1, L2: TLL;
Для обращения (доступ для чтения или записи информации) к элементам, входящим в структурированный объект, необходимо использовать составные имена: имя переменной типа RECORD и, через точку-разделитель, имя элемента входящего в эту переменную.
Примеры:
L1.N:=35; {внести в запись L1 значение переменной N}
For i:=1 to 5 do Write(L2.x[i]); {распечатать на экране первые пять значений
массива X, входящего в запись L2 }
Правила языка Pascal допускают только три стандартные операции работы с переменными типа Record как с единым целым:
1. Пересылка (копирование) всей информации из одной переменной в другую переменную того же типа: L1:=L2;
2. Побитное сравнение информации двух однотипных переменных:
If L1=L2 then ..{ полное совпадение содержимого переменных L1 и L2}
else. .{ битовое наполнение переменных L1 и L2 отличается}
3. Чтение и запись информации типизированных файлов.
Введение в язык Pascal структурированных переменных RECORD является подготовительным этапом к образованию качественно нового класса информационных объектов типа OBJECT (CLASS), которые являются базовым инструментарием объектно-ориентированного программирования (ООП) и языка Delphi – прямого наследника языка Pascal в среде Windows.
Дата добавления: 2021-12-14; просмотров: 332;