Тема «структуровані типи даних

Знати: Составструктурірованних типів даних; Прийоми роботи з файлами.

Вміти: Створювати файли, додавати, видаляти, сортувати записи в файлі.

У Паскалі є три класи файлів:

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

Структура опису файлової змінної:

Var <имя переменной>: File Of <тип элемента>;

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

Var Fi: File Of Integer; Fr: File Of Real; Fc: File Of Char;

Файл можна уявити як послідовний ланцюжок елементів, пронумерованих від 0, що закінчується спеціальним кодом, званим маркером кінця. Кількість елементів, що зберігаються в даний момент в файлі, називається його поточної довжиною. Для того щоб почати запис в файл, його слід відкрити для запису. Це забезпечує процедура Rewrite (FV); де FV - ім'я файлової змінної. При цьому покажчик встановлюється на початок файлу. Якщо у файлі є інформація, то вона зникає.

Запис в файл здійснюється процедурою write (fv, v); де v - змінна того ж типу, що й файл FV. Запис відбувається туди, де встановлено вікно (покажчик). Спочатку записується значення,

Читання з файлу здійснюється процедурою Read (FV, V); де v - змінна того ж типу, що й файл FV. Значення поточного елемента файлу записується в змінну V; покажчик зміщується до наступного елементу.

потім покажчик зміщується в наступну позицію. Якщо новий елемент вноситься в кінець файлу, то зсувається маркер кінця.

Приклад 1. У файлову змінну Fx занести 20 дійсних чисел, послідовно вводяться з клавіатури.

Var Fx: File Of Real; X: Real; I: Byte;

For I: = l To 2 0 Do

Write ( '?'); ReadLn (X); Write (Fx, X) End End.

Для читання елементів файлу з його початку слід відкрити файл для читання. Це робить процедура Reset (FV).

В результаті покажчик встановлюється на початок файлу. При цьому вся інформація у файлі зберігається

Приклад 2. У змінної х отримати 10-й елемент матеріально-го файлу Fx.

Var Fx: File Of Real;

For I: = l To 10 Do Read (Fx, X) End.

Функція Eof (FV) перевіряє маркер кінця файлу (end of file). Це логічна функція, яка отримує значення true, якщо покажчик встановлений на маркер кінця, в іншому випадку - false.

Приклад 3. Підсумувати все числа з файлу Fx, описаного в попередньому прикладі.

While Not Eof (Fx) Do

Read (Fx, X); Sx: = Sx + X End;

Послідовність дій для роботи з файлами:

· Описати файлову змінну.

· Описати змінну того ж типу, що й файл.

· Провести призначення (Assign).

· Відкрити файл для запису (Rewrite).

· Записати в файл дані (Write).

· Закрити файл (Close).

Приклад: Визначити середню температуру для значень, що зберігаються в файлі Temp.dat.

Var Ft: File Of Real;

T, St: Real; N: Integer;