Программа


VAR F1,F2,FR:text; { Указатели на входной и выходной текстовые файлы и файл отчета }
    InputFileName,OutputFileName, { Имена входного и выходного файлов с текстом }
    ReportFileName:string; { Имя файла отчета }
    CharForLook:string; { Строка искомых символов }
    Ch:char; { Символ файла }
    Num:longint; { Порядковый номер символа }
BEGIN
  WriteLn; { Пропуск строки }
  Write('Введите имя входного файла '); { Вывод приглашения }
  ReadLn(InputFileName);  { Ввод имени входного файла }
  if InputFileName='' then InputFileName:='057_2.pas';
                        { Подстановка имени файла при вводе пустой строки }
  Write('Введите имя выходного файла '); { Вывод приглашения }
  ReadLn(OutputFileName);  { Ввод имени выходного файла }
  if OutputFileName='' then OutputFileName:='057_2.res';
                        { Подстановка имени файла при вводе пустой строки }
  Write('Введите имя файла отчета '); { Вывод приглашения }
  ReadLn(ReportFileName);  { Ввод имени выходного файла }
  if ReportFileName='' then ReportFileName:='057_2.rpt';
                        { Подстановка имени файла при вводе пустой строки }
  Write('Введите строку искомых символов '); { Вывод приглашения }
  ReadLn(CharForLook);  { Ввод искомых символов }
  Num:=0; { Сброс счетчика символов }
  { Связывание имен файлов с файловыми переменными: }
  Assign(F1,InputFileName);
  Assign(F2,OutputFileName);
  Assign(FR,ReportFileName);
  Reset(F1); { Открытие файла для чтения }
  Rewrite(F2); { Открытие файла для записи }
  Rewrite(FR); { Открытие файла для записи }
  while not EOF(F1) do { Цикл просмотра исходного файла }
    if EOLn(F1) { Если достигнут конец строки }
    then begin
           ReadLn(F1);  { то - пропуск конца строки в файле }
           WriteLn(F2)  { вывод конца строки в выходной файл }
         end
    else Begin { иначе: }
           Inc(Num); { Набор номера символа }
           Read(F1,Ch);  { Чтение символа из файла }
           if Pos(Ch,CharForLook)>0 { Поиск Ch в строке искомых символов }
           then begin
                  if Odd(Num) { Проверка четности }
                  then Write(F2,'_')
                  { Вывод пробела (символа подчеркивания) в выходной файл }
                  else Write(F2,Ch);  { Вывод символа в выходной файл }
                  WriteLn(FR,'"',Ch,'" ',Num:3) { Вывод номера символа в файл отчета }
                end
           else Write(F2,Ch);  { Вывод символа в выходной файл }
         End;
  { Закрытие файлов: }
  Close(F1);
  Close(F2);
  Close(FR)
END.

Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию