Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratorni_roboti_Osnovi_programuvannya_dlya_R...doc
Скачиваний:
16
Добавлен:
10.11.2019
Размер:
878.08 Кб
Скачать

Запитання для контролю та самоконтролю

  1. Чим записи відрізняються від інших структурованих типів даних мови програмування Turbo Pascal?

  2. Яким чином у програмі декларувати запис?

  3. Як організувати обробку компонент записів?

  4. В яких випадках та як можна оптимізувати обробку полів?

  5. Що таке запис із варіантними полями?

Лабораторна робота № 10 обробка файлів Теоретичні відомості

Файл - це послідовність компонент, що є об'єктами одного типу. Як правило, кількість компонент у файлі заздалегідь не відома, компоненти файлу не мають індексів. Використовують файли послідовного доступу (деяка компонента обробляється тільки після обробки всіх попередніх компонент) та прямого доступу (без попередньої підготовки можна обробити будь-яку компоненту). У мові Turbo Pascal використовуються три файлових типи: текстові файли, типизовані файли, безтипові файли. Змінні цих типів називають файловими змінними. Їх використовують для організації процесів обміну даними між програмою та зовнішнім файлом.

Обробка файлів ведеться кількома етапами:

  • організація файлової змінної,

  • підключення файлової змінної до конкретного файлу,

  • відкриття доступу (підготовка до безпосередньої обробки),

  • читання або запис,

  • закриття доступу.

Коли файл підготували до роботи, вона не ведеться з файлом в цілому, а тільки з однією його компонентою, що зветься поточною. Спеціальний вказівник читання/запису (аналог курсору в текстовому режимі роботи екрану) на низькому рівні вказує на місце компоненти, яка в наступний момент часу може бути оброблена. Цю компоненту називають поточною. Після обробки цієї компоненти організується автоматичне переведення цього вказівника в наступне положення. Будь-який файл, якщо він вже існує, має в своєму складі хоча б одну компоненту - кінець файлу (EOF - End Of File).

Процедури та функції, що використовуються при обробці файлів будь-яких типів найчастіше такі (бібліотечний модуль system):

  • процедура Assign(f,Name_of_file) зв'язує змінну f із деяким конкретним файлом (ім'я якого записується у виді рядкової константи або зберігається в змінній Name_of_file);

  • процедура Reset(f) веде підготовку файлу для читання (відкриває);

  • процедура Rewrite(f) створює новий файл і відкриває його для запису (якщо f зв'язана з вже існуючим файлом, тоді вся інформація з нього буде знищена);

  • функція EOF(f) перевіряє досягнення вказівником кінця файлу;

  • процедура Close(f) закриває файл.

Інформацію, якщо файл підготований, можна читати з файлу та писати туди. Для цього використовуються стандартні процедури введення/виведення Read та Write. Тільки у разі, коли обробляється текстовий файл, можливе застосування процедур Readln та Writeln. Запис Read(f,a) означає скопіювати значення поточної компоненти файлу f у змінну a. Запис Write(f,b) означає скопіювати значення змінної b у поточну компоненту файла f.

Для позиціювання вказівника при обробці файлів прямого доступу використовується процедура Seek. Запис Seek(f,n) означає перевести вказівник на n-ту компоненту файлу f (n - належить типу Longint, тобто початкові компоненти мають номери 0, 1 і так далі).

Типизований файл - це файл з оголошеним типом його компонент (фіксована довжина компонент). Оголошення такого файлу має структуру: var f : file of Тип_елементів_файлу;

Текстові файли організуються по рядках (рядки скомпоновані з ASCII-символів, довжина рядка не фіксована) і об'являються в такий спосіб: var f : text;

Визначено декілька процедур і функцій, що працюють тільки з текстовими файлами: процедура Append(f), відкриває текстовий файл f для дозапису в кінець файлу; функція EOLn(f), перевіряє досягнення кінця поточного рядка файлу f.

Зауваження: Звісно кажучи, якщо у програмі є хоча б одне введення або виведення, це вказує на роботу з файлами. Введення даних з клавіатури організоване в мові Turbo Pascal через зв’язаний з буфером введення стандартний текстовий файл Input, а виведення на екран організоване через зв’язаний з буфером виведення стандартний текстовий файл Output. Це пояснює наявність у програмах на мові Pascal, наприклад, такого запису program main (Input, Output); у програмі на мові Turbo Pascal можна цей рядок взагалі не писати.

У бібліотечному модулі dos зберігаються процедури та функції, за допомогою яких організується можливість обробки файлів засобами операційної системи MS DOS.

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