Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_МЕТ№2.DOC
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
247.81 Кб
Скачать

1.Текстовые файлы

Это – стандартные файлы, состоящие из строк символов, которые заканчиваются символом "конец строки". Текстовый файл определяется описателем Text, который в разделе Var может быть записан так:

VAR

имя:TEXT;

Пример.

VAR

DAN:Text;

DATAIN:TEXT;

Примером текстовых файлов являются стандартные файлы INPUT и OUTPUT.

Для чтения и записи в текстовые файлы используются стандартные операторы:

READ, и WRITE,

READLN WRITELN.

Причем, из файла INPUT можно только читать, а в файл OUTPUT – только писать.

Общий вид операторов ввода-вывода для текстовых файлов следующий:

READ(файл,запись);

READLN(файл,запись);

- - - -

WRITELN (Файл,запись);

где файл — имя файла,

запись — имя данного, которое читается (записывается) из файла.

Это может быть символ, строка или число.

Каждый оператор Readln читает очередную запись файла, а Writeln – пишет запись в него. После этого указатель считывания – записи перемещается на следующую запись.

Основными задачами при работе с файлами являются создание нового и обработка уже существующего файла.

1.1. Создание текстового файла

Пример.

Ввести в ЭВМ с клавиатуры n строк текста и записать их в текстовый файл. Имя набора данных также задать с клавиатуры.

Алгоритм

1.1.Ввести имя НД

1.2. Открыть файл для записи

2.1. Ввести n

2.2. Для номерастроки (i) от 1 до n

ввести строку;

переписать в файл строку

3. Закрыть файл

4. Закончить

Программа для этого алгоритма будет иметь вид:

Program SozdText;

Var

Tx:Text;

FilName:String;{имя набора данных}

Stroka:String;{строка текста}

i,n,:Integer; {вспомогательные переменные}

Begin

{1.1}

Writeln(`Введите имя набора данных`);

Readln (FilName);

{Свяжем файл Тх с набором данных}

Assign(Tx,FilName);

{1,2}

Rewrite (Tx);

{2.1}

Writeln (`Введите количество строк текста`);

Readln(n);

Writeln (`Введите строки`);

{2.2}

For i:=1 to n do

Begin

Readln (Stroka); {с клавиатуры}

Writeln(Tx,Stroka);{запись в файл}

END;

{3}

Close(Tx);

End.

1.2. Работа с существующим текстовым файлом

Работа с существующим файлом обычно включает в себя операции открытия его для чтения и затем считывания из него записей, пока не появится признак "Конец файла" (Eof). Поэтому соответствующие Паскаль-программы содержат циклы вида:

While Not Eof (файл) do

Begin

Readln(файл,запись);

- - - - - - - -

End;

Простейшая задача – вывести на экран содержимое файла. Рассмотрим ее на примере набора, созданного в предыдущем пункте.

Алгоритм

1.1. Ввести имя НД

1.2. Открыть файл для чтения

2.1. Количество строк = 0

2.2.Пока не конец файла выполнять

считать из файла строку

кол.строк = кол.строк +1

вывести строку на экран

2.3. Вывести кол.строк

2.4. Закрыть файл

3. Закончить

Программа будет иметь вид:

Program VivodFile;

Var Tx:Text;

FilName,Str:String;

Kolstr:Integer;

Begin

{1.1}

Writeln(`Введите имя НД `);

Readln(FilName);

{Свяжем файл Тх с набором данных}

Assign(Tx,FilName);

{1.2}

Reset(Tx,FilName);

{2.1}

kolstr:=0;

{2.2}

Writeln(`Содержимое набора`);

While Not Eof(Tx) do

Begin

Readln (Tx,Str);

kolstr:=kolstr+1;

Writeln(Str); {вывод на экран}

End;

{2.3}

Writeln(`Количество строк в наборе данных - `, kolstr);

{2.4}

Close(Tx);

End.

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