69744

Ієрархічні записи

Домашняя работа

Информатика, кибернетика и программирование

Досі ми розглядали записи, у яких значення окремих полів були величинами простих типів або рядками. Проте в мові Паскаль значення поля може бути довільного типу, в тому числі записом. Наведемо приклад такого використання записів.

Украинкский

2014-10-09

36.5 KB

0 чел.

Самостійне вивчення

Тема 6: Ієрархічні записи

Досі ми розглядали записи, у яких значення окремих полів були величинами простих типів або рядками. Проте в мові Паскаль значення поля може бути довільного типу, в тому числі записом. Наведемо приклад такого використання записів. Нехай треба зберігати анкетні дані за конкретною схемою (рис. 1):

Анкета

Номер

за пор.

Прізвище

Ім’я

По батькові

Дата народження

Стать

Рік

Місяць

День

Рис. 1. Ієрархічна структура даних.

Опис відповідного типу буде такий:

type

Anketa=record

Nomer: integer;

РІВ: record

Pr, Im, Bat: string[15];

end;

Data: record

Rik: 1900..2100;

Mis: string [8];

Den: 1..31;

end;

stat: string [3]

end;

Опишемо змінну

var Dani: Anketa;

Змінна Dani містить відповідно записи РІВ і Data. Це ієрархічна структура запису, у якій одні записи підлягають іншим. Звертання до таких підлеглих типів містять імена відповідних записів, розділених крапкою, та ім'я поля.

Наприклад, занесення в поле Mis має вигляд

Dani. Data. Міs:='лютий' а у поле Рr - прізвища: Dani.РІbr:='Юрків'

Використовуючи оператор приєднання, можна спростити звертання до полів записів так:

with Dani do

with Data do

Міs:='лютий'

чи

with Dani do

with РІВ do

Рr:='Юрків'

або

with Dani, Data do Мis:='лютий'

чи

with Dani,РІВ do Рr:='Юрків'

Якщо фрагмент програми містить операції над різними записами, то в операторі приєднання можна зазначити список потрібних імен змінних - записів, розділених комою:

with V1, V2, V3 do 

Це еквівалентне записові

with V1 do with V2 do with V3 do

У цьому випадку треба мати на увазі таке: якщо деякий ідентифікатор F є полем, наприклад V1 і V2, то він буде інтерпретований як V2.F, а не як V1 .F. Тобто ідентифікатор поля пов'язують з останнім іменем запису в списку оператора with.

Треба пам'ятати, що всі ідентифікатори в межах дії оператора приєднання перевіряються, чи можна їх інтерпретувати як поля записів, зазначених у заголовку. Якщо так, то вони завжди будуть визначені саме так, навіть якщо є доступні звичайні змінні з такими самими ідентифікаторами.

Усі імена полів одного запису повинні бути різними, якщо вони є на одному рівні. Якщо ж одне ім'я визначене всередині області дії іншого імені або ці імена визначені в областях дії різних полів одного запису, то вони можуть бути однаковими. Очевидно, що різні записи можуть містити поля з однаковими іменами. Наприклад:

type

<ім'я_запису>=гесоd 

<ім'я поля_1>: record 

<ім'я_поля_1.1>: <тип>;

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

<ім'я_поля_1.n>: <тип>

end;

<ім'я_поля_2>: record 

<ім'я_поля_2.1>: <тип>;

……………………….

<ім'я_поля_2.m>: <тип>

end;

<ім'я_поля_3>: <тип>

end;

Однаковими можуть бути <ім'я_поля_1> та <ім'я_поля_1.1> або <ім'я_поля_1.1> та <ім'я_поля_2.1>. Імена <ім'я_поля_1> та <ім'я_поля_2>, а також <ім'я_поля_1.1> та <ім'я_поля_1.2> не можуть збігатися.


 

А также другие работы, которые могут Вас заинтересовать

50352. Расчет удельного заряда электрона методом магнетрона 87 KB
  Схема электрической цепи: А П2 К П1 К3 К2 К1 А – амперметр для измерения силы тока в соленоиде; микроамперметр для измерения анодного тока; V – вольтметр для измерения анодного напряжения; П1 и П2 регуляторы тока и напряжения. Результаты измерений: Зависимость анодного тока от тока в соленоиде...
50354. Определение поверхностного натяжения по высоте поднятия жидкости в капиллярных трубках 1.87 MB
  При выполнении данной лабораторной работы мы научились определять коэффициент поверхностного натяжения по высоте поднятия жидкости в капиллярных трубах.
50355. Теоретичні основи акустичних методів 345.5 KB
  Вивчення процесу розповсюдження пружних хвиль в гірських породах. Фізичні властивості гірських порід в тому числі і акустичні досить часто вимірюють непрямими способами причому неелектричні акустичні параметри швидкість поширення та амплітуди пружних коливань зазвичай перетворюють в електричні і їх визначення проводять за допомогою різних електричних схем.
50356. ЕНЕРГОЗБЕРЕЖЕННЯ В СИСТЕМАХ ОСВІТЛЕННЯ 133 KB
  Значну економію електроенергії можна отримати при управлінні освітленням. Входячи в темне приміщення, людина завжди вмикає освітлення, а виходячи з нього, не завжди вимикає. Встановлення датчиків присутності забезпечить вимкнення освітлення при відсутності в приміщенні людей.
50357. Анализ и изучение отношения детей в возрасте 6-7 лет к моральным нормам в структуре готовности к школе 252.81 KB
  Рассмотреть особенности отношения к моральным нормам у детей старшего дошкольного возрасте в структуре готовности к школе. Провести исследование и анализ отношения детей в возрасте 6-7 лет к моральным нормам. Провести исследование и анализ готовности к школе детей старшего дошкольного возраста.
50359. Разработка проекта развития порта 241.95 KB
  Проектный анализ предполагает осуществление технико-экономического анализа, анализа экономической динамики и финансово-хозяйственной деятельности. Это позволит нам выяснить степень деловой активности предприятия, его платежеспособность и ликвидность. А также эффективность деятельности предприятия, то есть рентабельность.