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

Тема 5. Створення та оброблення файлів даних

Файл – це іменована область зовнішньої пам’яті , що містить однотипну інформацію.

Файл в такому розумінні називають фізичним файлом, тобто таким, що існує фізично на деякому носії інформації.

З іншого боку файл - це одна із багатьох структур даних, які використовуються у програмах. Файл в такому розумінні називається логічним файлом, тобто який існує тільки в логічному представленні при написанні програми. У програмах логічні файли представляються файловими змінними певного типу.

Структура фізичного файла являє собою послідовність байтів пам’яті носія інформації. Структури файлів бувають:

  • типовані (у двійковому вигляді)

  • текстові (у символьному)

  • нетиповані (копія оперативної пам’яті)

байт

байт

байт

...

байт

байт

байт

Структура логічного файла – це засіб сприйняття файла у програмі, це шаблон, скрізь який сприймається фізична структура файла. У мовах програмування таким шаблонам відповідають типи даних, що використовуються у якості компоненту файлів.

File of byte

байт

байт

байт

...

байт

Eof

File of char

Код символу

код символу

код символу

...

код символу

Eof

File of integer

ціле із знаком

ціле із знаком

ціле із знаком

...

ціле із знаком

Eof

File of T T=record

a : byte;

b: char;

c: integer

end;

Байт

код символу

ціле із знаком

...

байт

код символу

ціле із знаком

Eof

Логічна структура файла схожа на структуру масиву. Різниця між масивом і файлом полягає у наступному:

  • у масивах кількість елементів фіксується в момент розподілення пам’яті і він повністю розміщується у оперативній пам’яті. Нумерація елементів масиву виконується відповідно нижній та верхній межам, вказаним при його оголошенні;

  • у файла кількість елементів в процесі роботи програми може змінюватися і він розміщується на зовнішніх носіях інформації. Нумерація елементів файла виконується зліва направо, починаючи з нуля (крім текстових файлів). Кількість елементів файла у кожний момент часу невідома. Але відомо, що в кінці файла розміщується спеціальний символ кінця файла EOF, в якості якого використовується керуючий символ з кодом. Крім того, визначити довжину файла і виконати інші операції можна з допомогою стандартних процедур і функцій, призначених для роботи з файлами.

Файли класифікуються за двома ознаками:

  • за типом (логічною структурою);

  • за методом доступу до елементів файла.

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

<ім’я>= FILE OF <тип>;

<ім’я>=TEXT;

<ім’я>=FILE;

тут <ім’я>-це ім’я файлового типу;

FILE, OF - зарезервовані слова;

TEXT – ім’я стандартного типу текстових файлів;

<тип>-будь-який тип, окрім файлового.

Приклад:

Type

Product=record

Name:string;

Code:word;

Cost:comp

End;

Text8=file of string[80];

Var

F1:file of char;

F2: text;

F3:file;

F4:text8;

F5:file of product;

В залежності від способу оголошення можна виділити три види файлів:

  • типовані файли, що задаються параметром file of;

  • текстові файли, які визначаються типом text;

  • нетиповані файли, що визначаються типом file.

У попередньому прикладі F1, F4 та F5-типовані файли, F2-текстовий файл, F3-нетипований файл.

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

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