Процедури роботи з множинами - студопедія
Звернення до полів запису здійснюється за допомогою ідентифікатора змінної і ідентифікатора поля, між якими ставиться крапка. Така комбінація називається складовим ім'ям.
Всі дії проводяться над полями записи, тільки операцію присвоювання можна виконати над усією записом.
Масив записів описується наступним чином:
Для більш простого звернення до полів записів використовується оператор приєднання 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 групи:
· Займаються в спортивному гуртку,
· Займаються в гуртку туризму,
· Ніде не займаються.
В інформації про школярів першої групи потрібно вказати:
· Вид спорту (легка атлетика, футбол, волейбол, баскетбол),
· Спортивний розряд (перший, другий, третій, кандидат в майстри спорту, майстер спорту);
· Вид туризму (водний, піший, гірський),
· Причину неучасті (хворий, не встигає).
Описати масив записів з варіантами, що має зазначену структуру. Організувати введення і виведення масиву.