КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
A, B, C : Complex;{A, B, C — переменные типа Complex}begin
Complex = record Type With RV1, RV2,..., RVn do... Type Type ОПИСАНИЕ ТИПА ЗАПИСЬ Лекция №8 Типы данных, определяемые пользователем. Записи. Описание файлового типа.
Запись — это структурированный тип данных, состоящий из фиксированного числа компонентов одного или нескольких типов. Определение типа записи начинается идентификатором record и заканчивается зарезервированным словом end. Между ними заключен список компонентов, называемых полями, с указанием идентификаторов полей и типа каждого поля. type <имя типа> = record <Идентификатор поля>:<тип компонента>; ... <Идентификатор поля>:<тип компонента> var <идентификатор,...>: <имя типа>; Пример: Car = record Number:integer; {Номер} var M, V: Car;
В данном примере запись Car содержит четыре компонента: номер, название марки машины, фамилию владельца и его адрес. Доступ к полям записи осуществляется через переменную типа "запись". В нашем случае это переменные M и V типа Car. Идентификатор поля должен быть уникален только в пределах записи, однако во избежание ошибок лучше делать его уникальным в пределах всей программы. Объем памяти, необходимый для записи, складывается из длин полей. Значения полей записи могут быть использованы в выражениях. Имена отдельных полей не применяются по аналогии с идентификаторами переменных, поскольку может быть несколько записей одинакового типа. Обращение к значению поля осуществляется с помощью идентификатора переменной и идентификатора поля, разделенных точкой. Такая комбинация называется составным именем. Например - чтобы получить доступ к полям записи Саг, надо записать: M.Number, M.Marka, M.FIO, M.Address Составное имя можно использовать везде, где допустимо применение типа поля. Для присваивания полям значений используется оператор присваивания.
Пример: M.Number:= 1678; M.Marka:= ‘ГАЗ – 24’; M.FIO:= ‘Демьяшкин В.А.’; M.Address:= ‘ул. Пушкина 12 – 31’;
Составные имена можно использовать, в частности, в операторах ввода-вывода: Read(M.Number, M.Marka, M.FIO, M.Address); Write(M.Number:4, M.Marka:7, M.FIO:12, M.Address:25); Допускается применение оператора присваивания и к записям в целом, если они имеют один и тот же тип. Например, После выполнения этого оператора значения полей записи V станут равны значениям соответствующих полей записи M. В ряде задач удобно пользоваться массивами из записей. Их можно описать следующим образом: Person = record Age: 1.. 99; Prof: string[30] var List: array[1..50] of Person;
Обращение к полям записи имеет несколько громоздкий вид, что особенно неудобно при использовании мнемонических идентификаторов длиной более пяти символов. Для решения этой проблемы в языке Паскаль предназначен оператор with, который имеет следующий формат: with <переменная типа запись> do <оператор>; Один раз указав переменную типа запись в операторе with, можно работать с именами полей как с обычными переменными, т. е. без указания перед идентификатором поля имени переменной, определяющей запись. Присвоить значения полям записи Car с помощью оператора with. Marka:= ‘ГАЗ – 24’; FIO:= ‘Петров В.И.’; Address: = ‘ул. Остужева, 5’
Паскаль допускает вложение записей друг в друга (т. е. поле в записи может быть в свою очередь тоже записью), соответственно оператор with тоже может быть вложенным: with RV1 do with RV2 do with RVn do... Уровень вложения не должен превышать 9. Записи используются обычно при работе с динамическими структурами и для организации файлов на магнитных дисках. Записи могут служить также для описания комплексных чисел, так как в языке Паскаль нет для этого специальных средств. В этом случае действительная и мнимая части комплексного числа являются полями записи, например: RealPart: real; {Действительная часть} var A.RealPart:= 6.3; A.ImagePart:= 1.9;
Дата добавления: 2013-12-12; Просмотров: 386; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |