МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів Контакти
Тлумачний словник |
|
|||||||
Тема. Комбіновані типи даних - записи. Доступ до полів запису. Оператор приєднання. Ієрархічні записи.Записи з варіантами. Селектор варіанту.Тип. Лекція 13. ПЛАН. Комбіновані типи даних - записи. Ієрархічні записи. Доступ до полів запису. Оператор приєднання. Записи з варіантами. Селектор варіанту. Приклад програми. ЛІТЕРАТУРА
С.А.Немнюгин.Turbo Pascal.-СПб:Издательство”Питер”,2000.-496с Семотюк В.Програмування в середовищі Турбо Паскаль.Львів: БаК,2000.-248с. Зуев Е.А. Система программирования Турбо Паскаль.М.,1992.
Комбіновані типи даних - записи. Ієрархічні записи. Доступ до полів запису.
Запис- це структура, що складається з фіксованого числа компонент, котрі називаються полями. Дані кожного поля мають постійний тип, а дані різних полів можуть мати різні типи. Таким чином записи дозволяють об'єднати під одним іменем дані різних типів, що дуже зручно для розв'язування задач різноманітних типів. В загальному випадку записи описуються типом RECORD:
TYPE t=RECORD id11,id12,...,id1N:TYPE1; id21,id22,...,id2N:TYPE2; ........................ idK1,idK2,...,idKM:TYPEK; end;
де idi - ідентифікатори (імена) полів, TYPEI - тип і-го поля, t - ім'я типу.
Наприклад, з допомогою типу-запису student
TYPE student=RECORD grupa:STRING[4]; nomer:INTEGER; prizv:STRING[25]; data_nar:INTEGER; ocinky:ARRAY[1..3] OF INTEGER; END;
описано інформацію про студента: код групи, в котрій навчається студент (grupa), порядковий номер студента в групі (nomer), прізвище студента (prizv), дату його народження (data_nar) та оцінки отримані під час останньої екзаменаційної сесії (ocinky). Поле, в свою чергу, може бути записом, і в цьому випадку говорять про ієрархічні записи. Для цього попередньо описують вўдповўдний тип, наприклад:
TYPE data=RECORD; rik:INTEGER; misiac:1..12; den:1..31; END;
і тоді тип data_nar можна описати в інших записих (у тому числі і в записі student) таким чином:
data_nar:DATA;
Змінні типу запис описуються звичайним способом, наприклад:
VAR stud1,stud2:STUDENT; Для таких змінних компілятор виділяє пам'ять звичайним чином відповідно до розташування полів та їх типів. Щоб звернутися до будь-якого поля, необхідно вжити складне ім'я: ім'я запису та ім'я поля. Якщо поле в свою чергу ї записом, то складне ім'я продовжується, наприклад:
stud1.prizv:='Перехрестенко Ю.П.' stud1.data_nar.rik:=1981; stud1.ocinky[1]:=5;
Записи можуть бути компонентами інших структур, наприклад:
TYPE gr=(15p,16p,25p,26p,29p,35p,36p,38p,45p,46p,48p); VAR viddil_2204:ARRAY [gr,1..32] OF STUDENT; Тепер мають сенс такі оператори присвоєння:
viddil_2204[26p,1].prizv:='Авраменко Т.'; viddil_2204[26p,1].data_nar.rik:=1981; viddil_2204[26p,1].data_nar.misiac:=2; viddil_2204[26p,1].data_nar.den:=21;
Щоб ввести (вивести) запис, треба ввести (вивести) відповідні поля, наприклад:
READLN(stud1.prizv); READLN(stud1.data_nar.rik,stud1.data_nar.misiac); READLN(stud1.data_nar.den); WRITELN(viddil_2204[26p,1].prizv:20, viddil_2204[26p,1].nomer:2);
Читайте також:
|
||||||||
|