Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Файлы.
В программировании используется понятие логического файла. Под логическим файлом понимается поименованная последовательность компонентов, являющихся объектами одного типа. Количество компонентов, т.е. размер файла, заранее не оговариваются. Компоненты файла не имеют индексов. Количество элементов файла может меняться. В турбопаскале определены следующие файловые типы:
Объявит переменную файлового типа можно:
Type
<имя>: file of <тип>; f = file of integer; //типизированный файл
<имя>: text; // текстовый файл
<имя>: file; //нетипизированный файл
Для типизированного файла тип компонентов может быть любой, кроме файлового.
Type
product = record
name: string;
code: word
cost: real;
end;
Var
f1: file of char;
f2: file of integer;
f3: file of product;
f4: file;
f5: text;
begin
…
End.
Доступ к файлу.
Файлы становятся доступными только при выполнении процедуры открытия файла. Она заключается в связывании заранее объявленной файловой переменной с именем существующего или создаваемого файла, а также в указании направления обмена информацией чтение или запись.
Assign (<ф.п.>, <имя файла>);
Эта процедура связывает файловую переменную с именем файла на диске. Если файл находится в текущей директории, указываем только имя. Иначе указать полный путь.
Если записывается
Assign(f, )
то переменная связывается со стандартными файлами input и output. Input для чтения данных с клавиатуры, output для вывода на экран.
Reset(f) открывает файл для чтения. При выполнении этой процедуры дисковый файл подготавливается к чтению и специальный указатель устанавливается на начало файла.
Rewrite(f) открывает файл для записи. При выполнении этой процедуры старый файл уничтожается и запись информации в файл начинается с первого элемента. Этой процедурой нельзя дополнить существующий файл.
Чтение и запись данных становится возможным только после открытия файла.
Close(f) закрывает логический файл. Закрытие файла гарантирует сохранность файла и полноту заполнения при фатальной ошибке программы.
Удалять или перемещать файлы можно только после их закрытия.
Функция eof(f) возвращает значение true, если достигнут конец файла и false в противном случае.
Write(f, <список ввода>);
Read(f, <список ввода>);
Составить программу, записывающую в файл квадраты ста первых натуральных чисел.
Program p1;
var f: file of integer;
I, j; integer;
Begin
assign(f, D:\Mydick\myfile.dat);
rewrite(f);
for I := 1 to 100 do
begin
j := sqr(i);
write(f, j);
end;
close(f);
end.
Вывести на экран сформированный файл.
Program p1;
var f: file of integer;
I, j; integer;
Begin
assign(f, D:\Mydick\myfile.dat);
{$I-} //директива отключения контроля ошибок ввода-вывода.
reset(f);
{$I+}
for I := 1 to 100 do
begin
writeln(I, = , j);
end;
close(f);
end.
Проверка существования файла на диске.
Var f: file of char;
begin
assign(f, myfile.dat);
{$I-}
reset(f);
{$I+}
if iosresult <> 0 then
begin
writeln(Файл не существует. );
else
writeln(Файл существует. );
End;
End.
Функция ioresult возвращает 0, если операция ввода прошла без сбоев.
Написать программу суммирования всех чисел, хранящихся в файле. Числа целые, количество неизвестно.
Program p1;
var f: file of integer;
s, i: integer;
Begin
assign(f, myfile.dat);
{$I-}
reset(f);
{$I+}
while not eof(f) do
begin
read(f, i);
s := s + I;
end;
writeln(s);
close(f);
end.
Процедура seek(f, <номер компонента>) перемещает указатель к требуемому компоненту.
seek(f, filesize(f)) переместить в конец.
Текстовые файлы.
В текстовых файлах информация хранится в кодах ASCII. Порции информации могут разделяться на строки. При этом строки могут иметь переменную длину.
#13 конец строки
#10 переход на следующую строку
#26 конец файла
Для текстовых файлов есть некоторые функции, которые можно использовать только для текстовых файлов.
eofn конец строки.
append(f) открывает текстовый файл для добавления данных в конец файла.
read, readln, write, writeln
Текстовые файлы удобно создавать с помощью простых редакторов, а обрабатывать в программе.
Задание к лабораторной работе:
Выписать из учебника все процедуры и функции по работе с файлами.