Переписать компоненты файла f в файл g, заменив при каждый восклицательный знак точкой - Free Pascal

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

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

Дано символьный файл f. Переписать компоненты файла f в файл g, заменив при этом каждый восклицательный знак точкой.

Решение задачи: «Переписать компоненты файла f в файл g, заменив при каждый восклицательный знак точкой»

textual
Листинг программы
  1. program pr;
  2. var
  3.   f, g: file of char;
  4.   i, n: integer;
  5.   c: char;
  6. begin
  7.   assign(f, 'c:\fi.txt');
  8.   assign(g, 'c:\se.txt');
  9.   rewrite(g);
  10.   rewrite(f);
  11.   writeln('введите количетсов символов');
  12.   readln(n);
  13.   i := 1;
  14.   while i <= n do
  15.   begin
  16.     readln(c);
  17.     write(f, c);
  18.     i := i + 1;
  19.   end;
  20.   close(f);
  21.   reset(f);
  22.   while not eof(f) do
  23.   begin
  24.     inc(i);
  25.     read(f, c);
  26.     if c = '!' then
  27.     begin
  28.       c := '.';
  29.     end;
  30.     write(g, c);
  31.   end;
  32.   close(f);
  33.   close(g);
  34.   writeln;
  35.   writeln('Файл g');
  36.   reset(g);
  37.   while not eof(g) do
  38.   begin
  39.     inc(i);
  40.     read(g, c);
  41.     write(c);
  42.   end;
  43.   close(g);
  44. end.

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

  1. Объявление переменных:
    • f, g: file of char; - файлы для чтения и записи
    • i, n: integer; - счётчики для отслеживания количества символов
    • c: char; - символ для чтения и записи
  2. Открытие файлов:
    • assign(f, 'c:\fi.txt'); - присваиваем файлу f имя 'c:\fi.txt'
    • assign(g, 'c:\se.txt'); - присваиваем файлу g имя 'c:\se.txt'
  3. Открытие файла g для записи:
    • rewrite(g); - очистка файла g и открытие его для записи
  4. Открытие файла f для чтения:
    • rewrite(f); - очистка файла f и открытие его для чтения
  5. Запрос на ввод количества символов:
    • writeln('введите количество символов');
    • readln(n); - считывание количества символов из файла
  6. Чтение символов из файла f и запись их в файл g:
    • i := 1; - счётчик символов
    • while i <= n do - цикл по количеству символов
      • readln(c); - считывание символа из файла f
      • write(f, c); - запись символа в файл g
      • i := i + 1; - увеличение счётчика символов
    • close(f); - закрытие файла f
  7. Чтение символов из файла f, замена восклицательного знака на точку и запись их в файл g:
    • reset(f); - возвращение файла f в начало
    • while not eof(f) do - цикл до достижения конца файла f
      • inc(i); - увеличение счётчика символов
      • read(f, c); - считывание символа из файла f
      • if c = '!' then - если символ равен восклицательному знаку
        • c := '.'; - заменяем символ на точку
      • write(g, c); - записываем символ в файл g
    • close(f); - закрытие файла f
  8. Чтение символов из файла g и их вывод на экран:
    • reset(g); - возвращение файла g в начало
    • while not eof(g) do - цикл до достижения конца файла g
      • inc(i); - увеличение счётчика символов
      • read(g, c); - считывание символа из файла g
      • write(c); - вывод символа на экран
    • close(g); - закрытие файла g
  9. Вывод сообщения о содержимом файла g:
    • writeln('Файл g'); - вывод сообщения
  10. Завершение программы:
    • halt; - завершение работы программы

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


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

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

9   голосов , оценка 3.889 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы