type tR = real; tF = file of tR;procedure SwapFile(fn1, fn2: string);var r: tR; fin, fout: tF;begin Assign(fin, fn1); Reset(fin); Assign(fout, fn2); Rewrite(fout); while (not Eof(fin)) do begin Read(fin, r); Write(fout, r) end; Close(fin); Close(fout)end;var f1, f2, f3, f4, f5, fh: string;begin f1 := 'f1.bin'; f2 := 'f2.bin'; f3 := 'f3.bin'; f4 := 'f4.bin'; f5 := 'f5.bin'; fh := 'tmp.bin'; { f2 <-> f4 } SwapFile(f2, fh); SwapFile(f4, f2); SwapFile(fh, f4); { f5->h, f3->f5, f1->f3, h->f1 } SwapFile(f5, fh); SwapFile(f3, f5); SwapFile(f1, f3); SwapFile(fh, f1)end.******************* Для тестирования ******************Можно создать тестовые файлы с помощью следующей программы:type tR = real; tF = file of tR;procedure WF(fn: string; m, n: integer);var fout: tF; i: integer;begin Assign(fout, fn); Rewrite(fout); for i := m to n do Write(fout, i / 2); Close(fout)end;var f1, f2, f3, f4, f5: string;begin f1 := 'f1.bin'; f2 := 'f2.bin'; f3 := 'f3.bin'; f4 := 'f4.bin'; f5 := 'f5.bin'; WF(f1, 3, 7); WF(f2, 11, 19); WF(f3, -6, 9); WF(f4, 0, 11); WF(f5, 14, 22); end.Далее можно просмотреть содержимое созданных файлов с помощью следующей программы:type tR = real; tF = file of tR;procedure WF(fn: string);var fin: tF; r: tR;begin Writeln(fn); Assign(fin, fn); Reset(fin); while (not Eof(fin)) do begin Read(fin, r); Write(r:0:1, ' ') end; Writeln; Close(fin)end;var f1, f2, f3, f4, f5: string;begin f1 := 'f1.bin'; f2 := 'f2.bin'; f3 := 'f3.bin'; f4 := 'f4.bin'; f5 := 'f5.bin'; WF(f1); WF(f2); WF(f3); WF(f4); WF(f5)end.Затем выполнить основную программу по перезаписи и снова запустить программу для просмотра обновленнных файлов.