Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metod_Pascal_Lesya Ugryn.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
1.83 Mб
Скачать

Лабораторна робота № 11

Тема:

Файли з типом

Мета:

Уміти скласти програму з використанням файлів послідовного та прямого доступу

11.1. Теоретичні відомості

З точки зору PASCAL-системи – це структурований тип даних, який складається з послідовності компонент одного типу і однакових розмірів. Доступ до конкретної компоненти ведеться через поточний вказівник файла. При записі (читанні) цей вказівник автоматично переміщується до наступної компоненти. Оскільки всі компоненти файла мають однакову довжини, то можливий довільний (прямий) доступ до компонента файла. Найчастіше компонентами файла є записи.

В мові PASCAL введення-виведення інформації здійснюється через спеціальні файлові змінні, які мають складну внутрішню структуру, що відповідає типу Record. Файли з типом задаються так:

Type < ім`я типу > = File of < тип компоменти >;

Var < iдентифікатори > : < ім`я типу >;

Приклад:

Type ZAPIS = Record

Len : byte;

Ves : real

end;

KARTA = File of ZAPIS;

Var Fi : KARTA; Zt : ZAPIS;

Файли з типом в Паскалі дають можливість організувати два способи доступу до компонент файла: послідовний і прямий.

При послідовному способі доступу пошук починається з самого початку файла, далі йде перевірка по черзі кожної з його компонент, поки не знайдеться потрібна.

Прямий спосіб доступу дозволяє звертатися до компоненти за її номером. Порядкові номери компонент починаються з нуля.

11.1.1. Стандартні процедури обробки файлів з типом

Введемо такі позначення:

FV - ім'я файлової змінної;

St - String;

Ch - символьна змінна;

P - змінні p1,p2,...,pN того ж самого типу, що і компоненти файлової змінної FV;

n - цілочисельній вираз.

З врахуванням введених позначень розглянемо файлові процедури:

Assing(FV,St) – пов'язує файлову змінну FV з зовнішнім ім'ям файла. Повне ім'я файла на диску має вид: St:= [<ім'я диску:>]<ім'я файлу>[.<тип>]; Починаючи з момента виконання процедури Assign всі дії над файловою змінною FV еквівалентні дії над файлом, заданим значенням літерного рядка St.

Rewrite(FV) – створює новий файл. Ця процедура використовується для створення нового файлу на диску. Ім'я файла було попередньо визначено в процедурі Assign. Якщо на диску вже був файл з таким ім'ям, він знищується. Поточний вказівник файла встановлюється в першу позицію (з номером 0).

Reset(FV) – встановлює поточний вказівник на початок файлу. Якщо цю процедуру використати до неіснуючого файлу, виникає помилка.

Read(FV,P) – читає дані з файлу. Здійснюється зчитування з файлу FV значень p1,p2,..,pN. Після завершення виконання процедури вказівник переміщується до наступної компоненти.

Write(FV,P) – змінні p1,..,pN записуються в дисковий файл, визначений змінною FV. Після виконання процедури вказівник файлу переміщується до наступної компоненти.

Seek(FV,n) – встановлює вказівник на компоненту файла n. Відлік компонент починається з нуля.

Close(FV) – закриває файл, позначений змінною FV.

11.1.2. Стандартні функції обробки файлів з типом

  1. FilePos(FV): LongInt – повертає номер компоненти файла, на який показує поточний вказівник файла, описаного змінною FV.

  2. FileSize(FV) : LongInt – повертає поточний розмір файлу, з яким пов'язана файлова змінна FV.

  3. EoF(FV): Boolean – видає True, якщо наступний символ за прочитаним маркер кінця файла.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]