Переписать компоненты файла f в файл g, заменив при каждый восклицательный знак точкой - Free Pascal
Формулировка задачи:
Дано символьный файл f. Переписать компоненты файла f в файл g, заменив при этом каждый восклицательный знак точкой.
Решение задачи: «Переписать компоненты файла f в файл g, заменив при каждый восклицательный знак точкой»
textual
Листинг программы
program pr; var f, g: file of char; i, n: integer; c: char; begin assign(f, 'c:\fi.txt'); assign(g, 'c:\se.txt'); rewrite(g); rewrite(f); writeln('введите количетсов символов'); readln(n); i := 1; while i <= n do begin readln(c); write(f, c); i := i + 1; end; close(f); reset(f); while not eof(f) do begin inc(i); read(f, c); if c = '!' then begin c := '.'; end; write(g, c); end; close(f); close(g); writeln; writeln('Файл g'); reset(g); while not eof(g) do begin inc(i); read(g, c); write(c); end; close(g); end.
Объяснение кода листинга программы
- Объявление переменных:
- f, g: file of char; - файлы для чтения и записи
- i, n: integer; - счётчики для отслеживания количества символов
- c: char; - символ для чтения и записи
- Открытие файлов:
- assign(f, 'c:\fi.txt'); - присваиваем файлу f имя 'c:\fi.txt'
- assign(g, 'c:\se.txt'); - присваиваем файлу g имя 'c:\se.txt'
- Открытие файла g для записи:
- rewrite(g); - очистка файла g и открытие его для записи
- Открытие файла f для чтения:
- rewrite(f); - очистка файла f и открытие его для чтения
- Запрос на ввод количества символов:
- writeln('введите количество символов');
- readln(n); - считывание количества символов из файла
- Чтение символов из файла f и запись их в файл g:
- i := 1; - счётчик символов
- while i <= n do - цикл по количеству символов
- readln(c); - считывание символа из файла f
- write(f, c); - запись символа в файл g
- i := i + 1; - увеличение счётчика символов
- close(f); - закрытие файла f
- Чтение символов из файла 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
- Чтение символов из файла g и их вывод на экран:
- reset(g); - возвращение файла g в начало
- while not eof(g) do - цикл до достижения конца файла g
- inc(i); - увеличение счётчика символов
- read(g, c); - считывание символа из файла g
- write(c); - вывод символа на экран
- close(g); - закрытие файла g
- Вывод сообщения о содержимом файла g:
- writeln('Файл g'); - вывод сообщения
- Завершение программы:
- halt; - завершение работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д