Операторы работы с файлами.

Для работы с файлами в языке ПАСКАЛЬ имеется несколько стандартных функций и процедур:

Append(f) - открывает файл F для дописывания данных в его конец;

Assign(f,s) - связать файл S с переменной F;

Close(f) - закрывает файл F;

Eof(f) - возвращает True , если обнаружен конец файла F, иначе – False;

Eoln(f) - возвращает True , если обнаружен конец строки в файле F, иначе – False;

Erase(f) - удаляет файл F с диска;

Execute(n) - вызывает запуск программы с именем N;

FilePos(f) - возвращает текущий номер записи в файле F;

FileSize(f) - возвращает количество записей в файле F;

Read(f,d) - производит чтение данных D из файла F;

Rename(f,s) - переименовывает файл F в имя S;

Reset(f) - открывает существующий файл F для чтения;

ReWrite(f) - создает новый файл F для записи (старый уничтожается);

Seek(f,n) - перемещает счетчик записей в файле F на позицию N;

Write(f,d) - записывает данные D в файл F (старые данные уничтожаются).

Порядок работы с файлами

При работе с файлами необходимо придерживаться определенного порядка: сначала нужно связать переменную с именем файла операторомAssign, затем создать ReWrite или открыть Reset существующий файл, а после работы с файлом (записи/чтения) его нужно закрыть выполнив оператор Close.

Пример чтения из файла

program ReadFile;

{ Программа читает символы из файла и выводит их на дисплей }

Var

name : string; { Имя файла }

fl : text; { Файловая переменная text = file of string (текстовый файл)}

chr : char; { Переменная для получения символа из файла }

 

Begin

 

Writeln; { Пропустить строку }

Writeln(Программа читает символы из файла и выводит их на дисплей ' );

Writeln; { Пропустить строку }

Write( 'Имя файла? ' );

readln( name ); { Читает строку с клавиатуры в переменную nm }

assign( fl, name ); { Назначает имя файла файловой переменной }

reset( fl ); { Открывает файл на чтение }

while noteof( fl ) do { Цикл до конца файла }

Begin

read( fl, chr ); { Чтение символа из файла }

Write( chr ); { Вывод символа на дисплей }

end;

close( fl ); { Закрыть файл }

Writeln; { Пропустить строку }

Writeln( 'Готово.' );

 

end.

Пример записи в файл

 

program WriteFile;

{ Программа записывает в указанный файл целые числа от 0 до 20. }

Var

name : string; { Имя файла }

fl : text; { Файловая переменная text = file of string (текстовый файл)}

cnt : integer; { Счетчик цикла }

 

Begin

 

Writeln; { Пропустить строку }

Writeln('Программа записывает в указанный файл целые числа от 0 до 20.' );

Writeln; { Пропустить строку }

Write( 'Имя файла? ' );

readln( name ); { Читает строку с клавиатуры в переменную nm }

assign( fl, name ); { Назначает имя файла файловой переменной }

reWrite( fl ); { Открывает файл на запись }

for cnt := 0 to 20 do { Цикл от 0 до 20 }

Write( fl, cnt : 4 ); { Запись переменной i в файл fl }

close( fl ); { Закрыть файл }

Writeln; { Пропустить строку }

Writeln( 'Готово.' );

 

end.

Формат фала CSV

Формат файла CSV предназначен для обмена табличными данными между программами. Структура файла фактически описана в самом названии формата – Comma Separated Value (величины разделенные запятой). Файл CSV – это текстовый файл, содержащий набор строк. Каждая строка содержит числа , разделенные запятыми (пробелы не допустимы!). Большинство табличных процессоров позволяет импортировать и преобразовывать такие файлы в электронные таблицы, в то же время, формат очень прост и к любому измерительному устройству легко написать программу представляющую результаты эксперимента в этом формате.

 

Задача №1.

Имеется матрица размерностью MxN. Написать программу, выполняющую следующие функции:

1. Ввод c клавиатуры элементов матрицы.

2. Обработку матрицы.

3. Вывод результатов обработки матрицы в файл в формате CSV.

Задача №2.

Имеется матрица размерностью MxN. Написать программу, выполняющую следующие функции:

1. Ввод элементов матрицы из файла в формате CSV.

2. Обработку матрицы.

3. Вывод результатов обработки матрицы на дисплей.