Удаление из текстового документа всех запятых - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Дан текстовый документ, в котором числа записаны через запятую (разделены по сотням). Надо удалить все запятые, но таким образом, чтобы числа сохранились: 3,900=3900

Решение задачи: «Удаление из текстового документа всех запятых»

textual
Листинг программы
const del=',';
var   f1, f2    : text;
      str, name : string;
      L, i      : integer;
    
BEGIN
     WriteLn('Введите имя файла:');
     Readln(name);
     Assign(f1, name);
     Reset(f1);
     if fileexists(name) then    {если файл с заданным именем существует}
     begin
          Assign(f2, 'temp.dat');
          Rewrite(f2);
          While not EOF(f1) do
          begin
               ReadLn(f1, str);
               L:= Length(str);
               for i:=1 to L do
                   if str[i]<>del then Write(f2, str[i]);
               WriteLn(f2);
          end;
     Close(f1);
     Close(f2);
     Erase(f1);
     ReName(f2, name);
     end
     else WriteLn('Файл с таким именем не существует.');
END.

Объяснение кода листинга программы

  1. В начале объявляются необходимые переменные: const del=','; var f1, f2: text; str, name : string; L, i : integer;
  2. Пользователю предлагается ввести имя файла для обработки. Данное имя сохраняется в переменной name.
  3. Для работы с текстовым файлом используется функция Assign, которая устанавливает связь между переменной f1 и файлом с указанным именем.
  4. Функция Reset сбрасывает буфер ввода-вывода, чтобы можно было начать чтение файла заново.
  5. Если файл с указанным именем существует, то открывается временный файл 'temp.dat' для записи результатов обработки.
  6. Чтение исходного файла происходит с помощью функции ReadLn. Введенная строка сохраняется во временной переменной str.
  7. Переменная L содержит длину строки str.
  8. Цикл while не позволяет пропустить ни одной строки из исходного файла.
  9. В цикле while выполняется проверка каждого символа строки str на равенство символу del (запятая). Если символ не равен del, то он записывается во временный файл 'temp.dat'.
  10. После окончания цикла while выводится сообщение о том, что файл 'temp.dat' содержит результат обработки исходного файла.
  11. Закрываются все открытые файлы: Close(f1), Close(f2), Erase(f1), ReName(f2, name).
  12. Имя исходного файла изменяется на 'temp.dat' с помощью функции ReName.
  13. Если файл с указанным именем не существует, выводится соответствующее сообщение.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5
Похожие ответы