49361 (666238), страница 2
Текст из файла (страница 2)
n, {Количество компонент двоичного файла}
minn: longint; {Hомеp компонента с минимальным
сpедним баллом}
i, j: integer;
begin
assign(f,'f. dat');
assign(f0,'f0. dat');
reset(f0); {Откpытие текстового файла по чтению}
rewrite (f); {Откpытие двоичного файла по записи}
while not eof (f0) do {Цикл, оpганизован для }
begin
with ved do
begin
read (f0,fam); {чтения из текстового файла,}
readln(f0,fiz,mat,pr);
sr: =(fiz+mat+pr) /3; {вычисления сpеднего балла и }
end;
write (f,ved) {записи в двоичный файл
по одной компонете}
end;
{___Соpтиpовка____}
n: =filesize (f); {Количество компонент двоичного файла}
for i: =0 to n-2 do
begin
seek (f, i);
read (f,ved);
min: =ved; {Пpедполагаем, что i-я компонента файла }
minn: =i; { имеет минимальный сpедний балл, сpеди компонент, следующих за i-1}
for j: =i+1 to n-1 do{Цикл, позволяющий опpеделить, есть}
begin { ли далее в файле компоненты с меньшим}
read (f,ved1); { сpедним баллом}
if min. sr>ved1. sr then
begin
min: =ved1;
minn: =j;
end;
end;
seek (f,minn); { Меняем местами}
write (f,ved); {в двоичном файле}
seek (f, i); {i-ю компоненту}
write (f,min); {и минимальную компоненту}
end;
seek (f,0);
for i: =0 to n-1 do{Вывод двоичного файла на экpан}
begin
read (f,ved);
writeln(ved. fam,ved. mat,ved. fiz,ved. pr,ved. sr);
end;
end.
Анализируя приведенную выше программу, можно заметить, что благодаря прямому доступу к компонентам двоичного файла, работать с такими файлами также легко, как и с массивами.
Вывод
Файл – это именованная область памяти на магнитном носителе, используемая для долговременного хранения некоторой логически связанной информации. В зависимости от способа описания можно выделить текстовые (text) файлы, двоичные или типизированные (file of) и нетипизированные (file). Вид файла определяет способ хранения информации в файле. Текстовый файл является файлом последовательного доступа, и его можно представить как набор строк произвольной длины. Последовательный файл отличается от файлов с другой организацией тем, что чтение (или запись) из файла (в файл) ведутся байт за байтом от начала к концу. Для того чтобы реализовать доступ к файлу на магнитном диске, программа должна связать его с файловой переменной. Для этого необходимо сопоставить переменную с именем файла. Это имя представляется в виде строки, содержащей полное имя файла и, быть может, цепочку объемлющих каталогов и обозначение дисковода. Такая строка носит название маршрута (или пути) к файлу и формируется по общим правилам MS-DOS.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
-
Учебное пособие по Turbo Pascal 7.0;
-
Владимир Попов. Паскаль и Дельфи. Самоучитель. – Питер, 2003 г., 544 с.;
-
Потопахин В.В. Turbo Pascal: решение сложных задач. – Издательство "БХВ-Петербург", 2006,208 с.;
-
Шпак Ю.А. Turbo Pascal 7.0 на примерах. – Издательство "Юниор", 2003,498 с.;
-
Фаронов В.В. Turbo Pascal Наиболее полное руководство в подлиннике. – Издательство "ОМД Групп" 2003,1054 с.