Теоретический материал: файловый ввод-вывод (Паскаль)

Решение задач

Задание. Рассмотрите предложенный ниже текст программы. Сформулируйте решаемую задачу.

Program Files;
Uses
  Crt;
Var
  F, Fnew : file of string;
  Name, NewName : string[12];
  Str : string;
  Ch : char;
Procedure ReadText;
Begin
  repeat
    write('Введите имя файла>');
    readln(Name);
    assign(F, Name);
    reset(F);
    if IOresult<>0
      then
        begin
          writeln('Ошибка чтения');
          close(F);
        end;
  until IOresult=0;
  writeln('Содержание файла ', Name,':');
  while not Eof(F) do
    begin
      read(F, Str);
      writeln(Str);
    end;
  close(F);
End;
Procedure EraseFile;
Begin
  erase(F);
  writeln('Файл удален');
End;
Procedure ReNameFile;
Begin
  write('Введите новое имя файла:');
  readln(NewName);
  rename(F, NewName);
  writeln('Файл ', Name,' переименован в файл ', NewName);
End;
Procedure CopyFile;
Begin
  write('Введите имя копии файла ', Name,'>');
  readln(NewName);
  reset(F);
  assign(Fnew, NewName);
  rewrite(Fnew);
  while not Eof(f) do
    begin
      read(F, Str);
      write(Fnew, Str);
    end;
  close(F);
  close(Fnew);
  writeln('Файл', Name,' скопирован в файл ', NewName);
End;
Begin
  ClrScr;
  readTеxt;
  repeat
    writeln('Удаление файла (D),переименование файла(R)');
    writeln('Копирование файла (C), выход из программы (Е)');
    write('Введите символ нужной операции - ');
    readln(ch);
    case ch of
      'D','d': EraseFile;
      'R','r': ReNameFile;
      'C','c': CopyFile;
    end;
  until (ch='E') or (ch='e');
  readln;
End.