Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Оператор with

ЗАПИСЬ.

В практике программирования приходится иметь дело с данными, которые естественным образом состоят из других данных. Например, сведения о студентах содержат имя, фамилию, отчество, число, месяц и год рождения, домашний адрес, результаты экзаменационных сессий и прочую информацию. Для представления подобной информации в языке Pascal используется тип запись.

Запись – это структурированный тип данных, состоящий из фиксированного числа компонентов одного или нескольких типов. Определение типа записи начинается идентификатором record и заканчивается зарезервированным словом end. Между ними заключен список компонентов, называемых полями, с указанием идентификаторов полей и типа каждого поля.

Формат:

type <имя типа> = record

<идентификатор поля>: <тип компонента>;

.....................................

<идентификатор поля>: <тип компонента>

end;

var <имя переменной>: <имя типа>;

 

Например:

type car = record

Number: integer; {номер}

Marka: string[20]; {марка автомобиля}

FIO: string[40]; {Ф.И.О. владельца}

Address: string[60] {адрес владельца}

end;

var M, V: car;

В данном примере запись car содержит четыре компонента. Доступ к полям записи осуществляется через переменную типа «запись». (Это переменные M и V типа car).

Идентификатор поля должен быть уникален в пределах записи, однако во избежание ошибок лучше делать его уникальным в пределах всей программы. Объем памяти, необходимый для записи, складывается из длин полей.

Значения полей записи могут быть использованы в выражениях. Имена отдельных полей не применяются по аналогии с идентификаторами переменных, поскольку может быть несколько записей одинакового типа. Обращение к значению поля осуществляется с помощью идентификатора переменной и идентификатора поля, разделенных точкой. Такая комбинация называется составным именем. Например, чтобы получить доступ к полям записи car, надо записать:

M.Number, M.Marka, M.FIO, M.Address

Составное имя можно использовать везде, где допустимо применение типа поля. Для присваивания полям значений используется оператор присваивания. Составные имена можно, в частности, использовать в операторах ввода-вывода. Допускается применение оператора присваивания и к записям в целом, если они имеют один и тот же тип. Например: V:=M;

После выполнения этого оператора значения полей записи V станут равны значениям соответствующих полей записи M. В ряде задач удобно пользоваться массивами из записей.

Данный оператор позволяет использовать в тексте программы имена полей без указания имени переменной-записи.

Формат:

with <имя записи> do

begin

{операторы, содержащие имена элементов записи}

end;

 

Один раз указав переменную типа запись в операторе with, можно работать с именами полей как с обычными переменными, т.е. без указания перед идентификатором поля имени переменной, определяющей запись.

Например:

with M do

begin

Number:=2347;

Marka:=’Газ-24’;

FIO:=’Петров В.И.’;

Address:=’ул. Гоголя,19’

end;

 

<== предыдущая лекция | следующая лекция ==>
Операции над множествами | Задачи для самостоятельной работы
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 358; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.