Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паскаль - лекциии.doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
1 Мб
Скачать
☆

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

При визначенні комбінованого типу в нього можна включати варіантну частину. Це означає, що різні змінні (хоч і відносяться до одного типу) можуть мати різні структури, тобто містять змінні поля. В цьому випадку список полів запису містить загальну частину і варіантну частину. В описі запису перераховуються всі можливі варіанти даної структури. Вибір варіанту запису виконується в залежності від значення селектора варіанту в записі. Селектором варіанту в записі являється тип запису. Ключове слово ставиться в кінці опису всього запису і означає кінець варіанту. Після варіантної частини запису ніякі поля з'являться не можуть. Імена полів, що використовуються в описі різних варіантів, не повинні повторюватися в одному і тому самому записі. Неможна також застосовувати одне і те саме ім'я для визначення полів в загальній та варіантній частинах запису.

Варіантна частина може містити інші записи, в тому числі і з варіантами. Степінь вкладеності записів в варіантній частині не обмежена. Оператор Case не закривається службовим словом End. Всі варіанти описуються в середині оператора Case. Кожен варіант характеризується заданим в дужках списком опису відповідних йому компонентів. Перед списком стоять мітки. Їх тип вказується в заголовці варіантної частини (на відміну від оператора варіанту, де селектором варіантної частини являється вираз, а не тип). Тип повинен бути скалярним і задаватися ім'ям. В явному виді вказувати тип в заголовці забороняється. Часто для скорочення запису поле признаку включається в заголовок варіантної частини.

Приклад: задати інформацію про співробітника, вказавши прізвище, рік народження, національність, а також, якщо це чоловік, повідомити, військово-забов'язаний він чи ні та яку має спеціальність, а якщо жінка, вказати, заміжня чи ні.

Type pol=(m,j);

A=record

Fio: array[1..20] of char;

God:1900..2000;

Naz:char;

B:pol;

Case pol of

m: (військовозабов 'язаний: boolean;

спеціальність: array[1..20] of char);

j(заміжня: boolean);

end; var x,y: a;

Файли.

Під файлом розуміється любий набір даних. Часто виникає потреба зберігати оброблені дані на зовнішньому носії. В цьому випадку дані оформляються у вигляді зовнішніх файлів. [Створення зовнішніх файлів даних для постійного зберігання на магнітному диску і можливість обробляти ці файли в програмі являється ефективним засобом програмування]. В мові Паскаль файл представляє собою послідовність елементів одного типу. На відміну від масиву довжина файлу не задається, місце елементів не визначається індексом, і кожен елемент стає доступним тільки після перебору всіх попередніх елементів. Такі файли називаються послідовними. Якщо програма взаємодіє з зовнішніми файлами, то файли повинні бути описані у програмі або явно в розділі опису змінних або у розділі опису типів Туре:

Var ім'я_файлу: File оf<базовий тип>;

Приклад: var F:file of char;

F1:file of integer;

Файли символьних даних називаються текстовими файлами. Опис текстового файлу file of char еквівалентно опису text.

Опис файлу в розділі типів:

Туре ім'я_типу=FіІе of <базовий тип>;