Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОП Конспект лекций - Паскаль.doc
Скачиваний:
20
Добавлен:
30.11.2018
Размер:
1.46 Mб
Скачать

Тема 26: Робота з текстовими файлами

Текстові файли складаються з рядків довжиною від 0 до 256 символів. Для опису використовується стандартний тип Text:

var ім'я файлової змінної : text;

Після опису всі операції з текстовим файлом виконуються за допомогою файлової змінної. Для обробки текстових файлів використовують стандартні процедури: Assign; Reset; Rewrite; Close; Read; ReadLn; Write; WriteLn; Eoln; Eof; Append.

Процедура

Append(файлова змінна);

відкриває текстовий файл для розширення тобто наприкінці файлу можна додати текст.

За причини того, що число елементів файлу не задається, в Pascal введена ознака кінця файлу. Ознакою кінця файлу є наявність символу з кодом 26 (Ctrl+Z). Для визначення файлового покажчика використовується стандартна функція EoF. Викликається вона з одним параметром – файловою змінною:

EoF(файлова змінна);

і повертає логічне значення True, якщо досягнуто кінець файлу і False – у протилежному випадку. Наприклад, у циклі:

while not eof (файлова змінна) do

begin

end;

циклічна частина, укладена в операторні дужки, буде повторюватися доки не буде досягнуто кінця файлу.

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

while not eoln (файлова змінна) do

begin

end;

Приклад 1. Вивести латинський алфавіт у файл abc.txt.

var t : text;{t – файлова змінна типу text}

i: char;

begin

assign (t,’c:\tp\pasfiles\abc.txt’); {встановлює зв'язок файлової змінної t із} {зовнішнім файлом abc.txt}

rewrite(t);{використовуємо цю процедуру, тому що файлу abc.txt на} {диску не було}

for i := ’A’ to ‘Z’ do

write(t, i,’ ‘);{виведення латинського алфавіту в створений процедурою} {rewrite дисковий файл abc.txt}

close(t);

end.

Приклад 2. Написати програму, що формує файл, компоненти якого є цілими числами.

var f : file of integer;

i : integer;

begin

assign (f1,’c:\tp\pasfiles\primer1.dat’);

rewrite(f);

repeat

readln(i);

write(f, i)

until i = 99; {вихід з циклу при введенні числа 99}

close(f);

end.

Приклад 3. Читання з файлу. Мається файл primer1.dat цілих чисел. Визначити кількість нулів у ньому.

var f : file of integer;

i, n0 : integer;

begin

assign (f1,’c:\tp\pasfiles\primer1.dat’);

reset(f);

while not eof (f) do

begin

read (f, i);

if i=0 then n0 := n0+1;

end;

close(f);

writeln(‘у файлі primer1.dat ‘,n0,’нулів’);

end.

Приклад 4. Мається файл abc.txt з англійським алфавітом. Роздрукувати букви алфавіту і їхню кількість.

var f : text;{t – файлова змінна типу text}

s : char; sum : byte;

begin

assign (f,’c:\ tp\ pasfiles\ abc.txt’);

reset(f);

while not eof (f) do

begin

read (f, s);

write(s);

if s <> ’ ’ then {якщо символ не пробіл, то}

sum := sum+1;

end;

close(f);

writeln;

write(‘в англійському алфавіті ‘,sum,’букв’);

end.

Приклад 5. Створити текстовий файл primer2.txt з довільним текстом.

var f : text;

Str : string;

begin

assign (f1,’c:\tp\pasfiles\primer2.txt’);

rewrite(f);

repeat

readln(str);

if str<>’ ’ then {перевірка: якщо рядок не порожній,}

writeln(f, str); {то писати у файл;}

until Str=‘ ’; {якщо введений рядок порожній, то вихід з циклу}

close(f);

end.

Приклад 5. Мається текстовий файл primer2.txt. Додати текст у його кінець.

var f : text;

str : string;

begin

assign (f,’c:\tp\pasfiles\primer2.txt’);

append(f);

repeat

readln(str);

if str<>’ ’ then

writeln(f, str);

until Str=‘ ’;

close(f);

end.

Питання для контролю.

  1. Представник файлу в Pascal-програмі.

  2. Поняття поточного покажчика.

  3. Оголошення файлу в Pascal-програмі.

  4. Процедура Assign і виконувана нею операція.

  5. Процедури Reset і Rewrite, місце в програмі і виконувані ними операції.

  6. Процедура Close і виконувані нею операції.

  7. Зчитування даних із зовнішнього файлу. Приклад.

  8. Запис даних у файл. Приклад.

  9. Текстові файли. Опис текстового файлу.

  10. Процедури, застосовувані при роботі з текстовими файлами.

  11. Функції EoF і EoLn, їхнє застосування.