Записи в Turbo Pascal
При решении научно-технических и экономических задач обработки совокупностей большого количества значений используются массивы. Но возникают сложности из-за того, что массив- это совокупность данных одного типа. Реальные данные об объектах часто описываются величинами разных типов. Например, товар на складе описывается следующими данными: наименование, количество, цена, наличие сертификата качества. Причем, наименование это строковый тип, количество- целый, цена- вещественный, наличие сертификата- логический.
Для записи в Turbo Pascal комбинации разных типов используют тип Запись.
Запись представляет собой совокупность ограниченного числа логически связанных компонент, принадлежащих к разным типам.
Компоненты записи называются полями, каждое из которых определяется именем и типом. Поля записи могут относиться к любому типу, допустимому в языке Паскаль, за исключением файлового типа. Описание записи в языке ПАСКАЛЬ осуществляется с помощью служебного слова RECORD, за которым описываются компоненты записи: имена полей и через двоеточие указывается их тип. Завершается описание записи служебным словом END.
Record
<идентификатор поля>:<тип поля>;
<идентификатор поля>:<тип поля>;
…………………………………..
<идентификатор поля>:<тип поля>
end;
Например, записная книжка содержит фамилии, инициалы и номера телефона, поэтому отдельную строку в записной книжке удобно представить в виде следующей записи:
type Row=Record
FIO: String[20];
TEL: String[7]
end;
var str,d: Row;
В данном случае описывая запись мы задали новый тип Row, но можно описать переменную типа запись непосредственно в разделе описания переменных:
Var car: record
Nomer:integer;
Marka: string[15];
Fio:string[25];
Address:string[40]
End;
Идентификатор поля должен быть уникальным в пределах записи. Но чтобы избежать путаницы в программе лучше делать его уникальным во всей программе. Объем памяти, необходимый под запись складывается из длин полей. Так, тип Row занимает 29 байт, а переменная саr 75 байт (2+16+26+41).
Обращение к записи в целом допускается только в операторах присваивания, где слева и справа от знака присваивания используются имена записей одинакового типа(str:=d). Во всех остальных случаях оперируют отдельными полями записей. Чтобы обратиться к отдельной компоненте записи, необходимо задать имя записи и через точку указать имя нужного поля, например: str.FIO, str.TEL , car.nomer, car.fio;
Такое имя называется составным. Компонентой записи может быть также запись, в таком случае составное имя будет содержать не два, а большее количество имен.
Лекция 34.
Дата добавления: 2016-05-25; просмотров: 717;