Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PASСAL_a4_2007.doc
Скачиваний:
32
Добавлен:
13.09.2019
Размер:
2.51 Mб
Скачать

1.2. Принцип работы с текстовыми файлами

При работе с текстовыми файлами необходимо выполнять следующую последовательность действий.

1. В блоке описания переменных VAR с помощью ключевого слова text описывается специальная файловая переменная-указатель. Например:

var OUTF : text;

2. Файловая переменная связывается с конкретным файлом на диске. Для этого используется специальная процедура Assign следующей структуры:

Assign(<имя файловой переменной>, <имя файла>);

3. Для открытия файла используется одна из следующих стандартных процедур:

Reset(<имя файловой переменной>) - открыть текстовый файл только для чтения;

Rewrite(<имя файловой переменной>) - открыть текстовый файл только для записи.

Append(<имя файловой переменной>) - открыть текстовый файл только для дописывания текста в конец файла.

4. В случае если файл открыт для чтения, используются стандартные процедуры Read и Readln. Их использование отличается от традиционного тем, что первым элементом в списке ввода стоит имя файловой переменной. Например:

...

Readln(OUTF,A,B,C);

...

5. В случае если файл открыт для записи, используются стандартные процедуры Write и WriteLn. В них также требуется указать ПЕРВЫМ в списке вывода имя файловой переменной. Например:

...

Writeln(OUTF,'А это будет записано в файл ...');

...

6. После завершения работы с файлом обязательно используйте процедуру

Close(<имя файловой переменной>).

Эта процедура называется "закрытие файла".

7. Если файл открыт для записи, перед процедурой Close непременно используйте процедуру

Flush(<имя файловой переменной>).

Дело в том, что для работы с текстовыми файлами используется специальный буфер (область, выделяемая в оперативной памяти). Выполнив команду записи данных в файл, реально компьютер записывает эти данные в буфер, и только тогда, когда буфер наполняется, его содержимое переписывается в файл на диске. В конце работы может сложиться такая ситуация: буфер до конца не заполнен, а файл закрыли. В этой ситуации все, что скопилось в буфере, потеряется. Чтобы этого не произошло, необходимо использовать процедуру Flush: она обеспечивает сброс содержимого незаполненного буфера в файл.

2. Практика

Задание 1

Скопируйте в Ваш каталог из каталога PAS_TXT следующие файлы: file_t1.pas, file_t2.pas, merfi.txt, numbers.txt, file_t3.pas.

Задание 2

Запустите среду Turbo Pascal. Загрузите текст программы file_t1.pas. Разберитесь в том, как она работает. Модифицируйте эту программу так, чтобы она выводила на экран содержимое ЛЮБОГО текстового файла. Для отладки можно использовать какой-либо файл из Вашего каталога (в том числе и с расширением PAS). Уберите цветовое оформление текста: пусть текст выводится белым цветом.

Задание 3

В файле numbers.txt хранятся числа, записанные в столбик. Составьте программу, которая позволит Вам считать эту информацию и вычислить среднее арифметическое этих чисел. Известно, что эти числа могут быть любые: целые, вещественные, положительные, отрицательные. Количество чисел НЕИЗВЕСТНО!

Подсказка

Числа из текстового файла можно читать в переменные типа Real, Integer, Word и т.д.

Задание 4

Загрузите текст программы file_t2.pas. Используя эту программу, проверьте правильность работы программы по заданию 3.

Задание 5

Считайте с диска файл file_t3.pas. Разберитесь в том, как работает программа. Для этого:

  • внимательно прочтите текст программы и комментарии;

  • запустите программу на выполнение и введите не менее 10 чисел;

  • считайте с диска файл ex0.txt и проверьте, правильно ли записались числа;

  • модифицируйте программу так, чтобы между соседними числами был, по крайней мере, один пробел.

Задание 6

Составьте программу - простейший текстовый редактор. Алгоритм работы достаточно прост: в диалоге вводится имя файла. Затем предлагается вводить текст. После набора строки и нажатия клавиши <ENTER> введенная строка записывается в файл. В случае введенного специального символа (это может быть * или что-нибудь другое) файл закрывается и работа программы завершается.

Проверьте правильность работы Вашей программы с помощью программы, разработанной при выполнении задания 2.

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