В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
dinara240787
dinara240787
28.11.2021 21:53 •  Информатика

Даны файлы f1,f2,f3,f4,f5, компоненты которых являются вещественными числами. организуйте обмен компонентами между файлами в соответствии со следующей схемой: f1 f2 f3 f4 f5 ↓ ↓ ↓ ↓ ↓ f3 f4 f5 f2 f1 т.е. компоненты файла f1 переписываются в файл f3, компоненты файла f2 - в f4 и т.д. разрешается использовать только один файл h.

Показать ответ
Ответ:
У4КГРВ
У4КГРВ
14.07.2020 01:24
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.

Затем выполнить основную программу по перезаписи и снова запустить программу для просмотра обновленнных файлов.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота