русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Тип – запись


Дата добавления: 2015-07-23; просмотров: 626; Нарушение авторских прав


1. Реальные данные об объектах часто описываются величинами разных типов. Например, товар на складе описывается следующими величинами: наименование (String), количество (Integer), цена (Real), наличие сертификата качества (Boolean) и т. д. В этом случае возникает необходимость хранить и обрабатывать совокупности данных различного типа, поэтому приходится использовать отдельные массивы для каждого типа данных, а для установления соответствия между ними вводятся соответствующие индексы. Такой подход не очень удобен и существенно усложняет написание программы. В Pascal существует другой способ решения таких задач – использование комбинированного типа данных, который называется запись. Запись – это структурированный тип данных, состоящий из фиксированного числа компонентов одного или нескольких типов.

2. Определение типа записи начинается идентификатором Record и заканчивается зарезервированным словом End. Между ними заключен список компонентов, называемых полями, с указанием идентификаторов (имен) полей и типа каждого поля (см. ниже). Тип запись можно описывать:

а) в разделе описания типов

Type

<имя_типа_записи> =Record

<имя_поля_1> : <тип_поля_1>;

< имя_поля_2> : < тип_поля_2>;

< имя_поля_k> : < тип_поля_k>;

End;

Var

<имя_переменной> : <имя_типа_записи>;

б) явно в разделе описания переменных

Var

<имя_переменной> :Record

<имя_поля_1> : <тип_поля_1>;

< имя_поля_2> : < тип_поля_2>;

< имя_поля_k> : < тип_поля_k>;

End;

Пример 1.

Type

Car =Record {объявление записи из 4-х полей}

Number:Integer;{номер}

Marka:String[20];{марка}

FIO:String[40]; {фамилия и инициалы владельца}

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



End; {окончание описания записи}

Var

M, V:Car; {объявление переменных типа- запись}

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

<тип_поля_...> -любой стандартный тип языка Pascal, включая тип запись, т. е. поле записи может быть в свою очередь записью. Если в качестве <тип_поля_...> используется тип, определенный пользователем, то он должен быть объявлен до описания записи.

Из записей одного типа можно составлять массивы

Пример 2.

Type

Person = Record

FIO : String[20];

Age : Integer;

Prof : String[30];

End;

Var

List : Array[1..50] of Person;

3. Обращение к значению поля осуществляется с помощью составного имени, которое состоит из имени переменной типа запись и идентификатора поля, разделенных точкой. Например, чтобы получить доступ к полям записи Car (см. пример 1), надо написать:

M.Number, M.marka, M.FIO, M.Address.

Составное имя можно использовать везде, где допустимо применение типа поля (применение данных такого же тира, как и поле записи). Для присваивания полям значений используется оператор присваивания.

Пример.

а) присваивание полям записи значений в программе (см. пример 1):

M.Number :=1678;

M.Marka :=’ГАЗ-24’;

M.FIO :=’Иванов И. И.’;

M.Address :=’Ул. Пушкина 12-31’;

б) присваивание полям одной записи значений полей другой записи (см. пример):

V:=M;

Обращение к полям записи имеет несколько громоздкий вид, что неудобно при использовании длинных идентификаторов. Для решения этой проблемы в Pascal предназначен оператор присоединения With … Do:

With <переменная_типа_запись>

Do <оператор>;

где <переменная_типа_запись>- имя переменной типа запись, с полями которой нужно работать, <оператор> - простой или составной оператор языка Pascal. Один раз указав имя переменной типа запись в операторе With, можно в пределах этого оператора работать с именами полей как с обычными переменными, т. е. без указания перед идентификатором поля имени переменной, определяющей запись.

Пример.

With M



<== предыдущая лекция | следующая лекция ==>
Типизированные файлы | Do Begin


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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