Программа
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.
Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию