Работа с файлами в Pascal.
Файл — это самостоятельная последовательность символов, расположенных
на внешнем носителе. Это определенная выделенная область информации.
Файлы могут хранить в себе различную информацию. Это тексты,
программы, картинки, интернет страницы, файлы программы вирусов, антивирусов и
т.д.
Файлы предназначены только для хранения информации, а
обработка этой информации осуществляется программами. Использование файлов
целесообразно в случае:
долговременного хранения данных ;
доступа различных программ к одним и тем же данным;
обработки больших массивов данных, которые невозможно
целиком размещать в оперативной памяти компьютера.
Существование файлов не зависит от работы какой-либо программы и они никуда не
исчезают.
Когда и зачем нужно использовать файлы?
Не всегда нам удобно пользоваться командной строкой при
вводе и выводе информации в программе. Например,
если необходимо сохранять выходные данные при отладке, если необходимо
использовать большое количество входных данных или требуется многократное
введение одной и той же информации.
Так вот в этих и
некоторых других случаях к нам на помощь приходит умение работать с
файлами.
Описание файловых переменных.
В разделе описания следующая запись
var f1, f2: text; // говорит
о том, что переменные f1 и f2 это текстовые файлы.
Как установить связь между файловой переменной и самим
фалом?
Для ответа на этот вопрос есть специальная процедура
assign(f,'имя_файла'); // устанавливает связь между файловой
переменной и самим файлом. Фактически мы говорим, что переменной f
соответствует такое-то имя файла. Например, текстовый файл input.txt
Здесь подразумевается, что файл с самой программой находится
в той же папке, что и текстовый файл input.txt. Если же он в другой папке, то
нам нужно указать относительное расположение этого файла.
‘Имя_файла’ — полный путь к указанному файлу, записанный в
относительной или абсолютной форме.
После того как мы установили соответствие файловой
переменной и самого файла мы можем:
Открыть для
чтения reset(f);
Создать или перезаписать
rewrite(f);
Создать или открыть и дописать в конец файла append(f);
Сохранить и закрыть файл close(f);
Для того что бы делать какие-либо внутренние изменения в самом файле так же существуют команды:
read(f,a,b); — читать из файла f две переменные a и b. После
выполнения этой процедуры указатель в файле передвинется за переменную b;
readln(f,a,b,c); —
читать из файла f три переменные a, b и c.
write(f,a,b,c);
— записать в файл f переменные
a,b и c;
writeln(f,a,b);
— записать в файл f переменные a
и b, а затем записать туда же символ переход к следующей строке.
Append (f ) - процедура, открывающая файл f для добавления
строк в конец файла;
Eoln (st )- логическая функция, результат выполнения которой
равен TRUE, если достигнут маркер конца строки st.
Файл, не содержащий ни одного элемента, называется пустым.
Создается файл путем добавления новых записей в конец первоначально пустого
файла. Длина файла, т.е. количество элементов, не задается при определении
файла.
Пример 1. Создать
текстовый файл, в который записать 4 предложения. Прочитать этот файл.
Определить длину каждого предложения после вывода его содержимое на экран.
Program
File_text;
var
f1 : text;
st :
string;
n: byte;
begin
assign (f1, 'file1.txt'); //связывает с файлом
file1.txt файловую переменную f1
rewrite (f1); // создаёт новый файл
с именем file1.txt
writeln
( f1, 'Ученики нашего
класса '); // записывает предложения в файл
writeln
( f1, ' понимают ');
writeln
(f1, ' необходимость ответственного ответственного
отношения к учёбе ');
writeln
(f1, ' и умения программировать
');
close
(f1); // закрывает файл для записи
reset
(f1); // открытвает
файл для чтения
while not
eof (f1) do // пока не конец файла f1
begin
readln
(f1, st);
//читаем строку из файла f1
writeln(st); // выводим на экран
n:= length (st);
//определяем длину строки
writeln
(' длина предложения =',n);
end;
close
(f1); // закрыть файл для чтения
end .
Какая длина предложения ' понимают '? Почему?
ДЗ.1.Составить программу создание файла и чтение данных из него. 2.Перевернуть строку текстового файла , т.е. последние символы должны стать первыми, а первые последними.
|