Тема «структуровані типи даних
Знати: Составструктурірованних типів даних; Прийоми роботи з файлами.
Вміти: Створювати файли, додавати, видаляти, сортувати записи в файлі.
У Паскалі є три класи файлів:
Файловий тип змінної - це структурований тип, який представляє собою сукупність однотипних елементів, що зберігаються на зовнішньому носії, кількість яких заздалегідь не визначене.
Структура опису файлової змінної:
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;