Процедури роботи з множинами - студопедія

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

Всі дії проводяться над полями записи, тільки операцію присвоювання можна виконати над усією записом.

Масив записів описується наступним чином:

Для більш простого звернення до полів записів використовується оператор приєднання with:

Один раз вказавши змінну типу запис в операторі with, можна працювати з іменами полів, як зі звичайними змінними, тобто без вказівки перед ідентифікатором поля імені змінної, що визначає запис:

Використання змінної типу запис With Ank do begin Write (Fam) ;. end;

Використання масиву записів For i: = 1 to N do With Mas [i] do begin Write (Fam) ;. end;

Порівняйте, без використання оператора with:

Використання змінної типу запис Write (Ank.Fam) ;.

Використання масиву записів For i: = 1 to N do begin Write (Mas [i] .Fam) ;. end;

Паскаль допускає вкладення записів один в одного (тобто поле запису може бути в свою чергу теж записом), відповідно оператор with може бути вкладеним. Рівень вкладення не повинен перевищувати 9.

Замість останнього запису можна використовувати більш коротку:

Тут rv1, rv2, ..., rvn змінні типу запис.

Приклад вкладених записів:

Записи можна описувати за допомогою типізованих констант наступним чином:

ідентифікатор: тип = (спісок_значеній_полей);

Список значень полів являє собою список з послідовностей виду:

Елементи списку відокремлюються один від одного двокрапкою.

Sep, Oct, Nov, Dec);

Приклад. Описати масив записів, що містять відомості про здачу студентами сесії. Структура запису: прізвища студента, номер групи, результати здачі трьох іспитів. Роздрукувати список студентів, які отримують стипендію. Умова отримання стипендії - середній бал більше 5.

Repeat Until KeyPressed;

Записи з варіантами

Розглянуті вище записи мають рядки певну структуру. У мові Pascal є можливість задати тип запису, який містить довільне число варіантів структури. Такі записи називаються записами з варіантами. Записи з варіантами забезпечують кошти об'єднання записів, які схожі, але не ідентичні за формою. Вони складаються з необов'язковою фіксованого та варіантної частин. Використання фіксованої частини не відрізняється від описаного вище. Варіантна частина формується за допомогою оператора case. Він задає особливу поле записи - поле ознаки, яке визначає, який з варіантів в даний момент буде активізований. Значенням ознаки в кожен поточний момент виконання програми повинна бути одна з розташованих далі констант. Константа, що служить ознакою, задає варіант запису і називається константою вибору.

Формат опису записи з варіантами:

ідентифікатор _поля. тип _компоненти;

ідентифікатор _поля. тіп_компоненти;

У частині case немає окремого end. Одне слово end закінчує всю конструкцію записи з варіантами.

При використанні записів з варіантами слід дотримуватися наступних правил:

· Всі імена полів повинні відрізнятися один від одного принаймні одним символом, навіть якщо вони зустрічаються в різних варіантах;

· Запис може мати тільки одну вариантную частина, причому, вона повинна розміщуватися в кінці запису;

· Якщо поле, відповідне будь-якої мітці, є порожнім, то воно записується в такий спосіб:

Записи з варіантами також можна задавати за допомогою типізованих констант. При завданні такого запису вказуються тільки один з можливих варіантів констант:

True: (BirthPlace: String [40]);

EntryDate: (16, 3, 89);

Приклад записів з варіантами. Учні деякого класу поділяються на 3 групи:

· Займаються в спортивному гуртку,

· Займаються в гуртку туризму,

· Ніде не займаються.

В інформації про школярів першої групи потрібно вказати:

· Вид спорту (легка атлетика, футбол, волейбол, баскетбол),

· Спортивний розряд (перший, другий, третій, кандидат в майстри спорту, майстер спорту);

· Вид туризму (водний, піший, гірський),

· Причину неучасті (хворий, не встигає).

Описати масив записів з варіантами, що має зазначену структуру. Організувати введення і виведення масиву.