Студопедия

КАТЕГОРИИ:


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

Dictionary.Author.Name, Dictionary.Author.SecondName и т.д




Begin

With Dictionary do

...

BEGIN

VAR

TYPE

Структуры

Лекция 20

 

 

Вторым, принципиально отличающимся от массива составным типом, является структура.

Структурой называется совокупность разнотипных простых (или составных) данных, объединенных общим именем и расположенных в памяти ЭВМ подряд; обращение к элементам, составляющим структуру, осуществляется с помощью указания, как общего имени структуры, так и внутреннего имени каждого элемента структуры. Имена записываются подряд, разделяясь точкой.

В языке Паскаль этот тип данных носит название "запись". Для его задания используется ключевое слово "record". Примеры описаний переменных типа запись:

book = record { задаем описатель записи - book (книга) }

Title: string; { поле названия }

Author: string[20]; { поле для фамилии автора }

Pages: word; { поле для количества страниц -

целого числа без знака }

Price: word; { поле для цены (в рублях) }

end;

Instruction,Dictionary: book; { заводим две переменные типа book

Library:array[1..30000] of book; { и массив из 30000 структур типа

book }

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

Для переменных и констант типа запись как единого целого, возможны операции чтения или записи, присваивания и операции сравнения на равенство

- тождественность (но только для двух переменных, описанных одним общим типом). Каждое отдельное поле переменной типа запись может использоваться в операциях, предусмотренных для данных этого конкретного типа. Таким способом выполняется и заполнение полей операторами присваивания или ввода:

... { присваивание значений полям }

Dictionary.Title:='Толковый словарь по вычислительным системам'; Dictionary.Author:='В.Иллингуорт';

Dictionary.Pages:=560;

Dictionary.Price:=180;

{ вывод названия книги на экран }

Writeln('Название: ',Dictionary.Title);

for i:=1 to 3000 do { печать фамилий авторов дорогих книг библиотеки }

if Library[i].Price > 1000 then Writeln(Library[i].Author);

Как видно из примера, обращение к отдельным полям записи может иметь довольно громоздкий вид. Для некоторого удобства предусмотрено использование специального оператора " with ", в котором можно указать общее имя переменной. Например, то же заполнение полей переменной Dictionary можно выполнить так:

Title:='Толковый словарь по вычислительным системам';

Author:='В.Иллингуорт';

Pages:=560;

Price:=180;

end;

Язык Паскаль разрешает использовать в записи в качестве полей массивы и другие записи (описанные раньше). В этом случае внутреннее поле может вызываться с помощью составного имени, состоящего из цепочки имен вложенных структур разделенных точками:

 

 

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


Глава 8. Подпрограммы и функции




Поделиться с друзьями:


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


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



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




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