Инвертирование файла - Pascal ABC

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

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

Дан текстовый файл в виде последовательности, состоящей из цифр "1" и "0". Инвертируйте файл, т. е. Перепишите 1 на 0 и наоборот. Результат запишите в новый файл.

Решение задачи: «Инвертирование файла»

textual
Листинг программы
var f,g:text;
    a:char; //цифры как символы '0','1'
begin
assign(f,'1.txt'); //исходный файл в папке с программой
reset(f);
assign(g,'2.txt');
rewrite(g);
while not seekeof(f) do
 begin
  read(f,a);
  a:=chr(1-(ord(a)-48)+48);
  write(g,a);
 end;
close(f);
close(g);
end.

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

  1. Объявлены две переменные: f и g типа text.
  2. Переменная a типа char инициализируется значением '0'.
  3. Файл f открывается для чтения с помощью функции assign, а файл g открывается для записи с помощью функции rewrite.
  4. Используется цикл while для чтения исходного файла до конца.
  5. В каждой итерации цикла считывается один символ из файла f и сохраняется в переменной a.
  6. Используется функция ord для получения числового значения символа, и вычисляется новое значение символа, инвертируя его.
  7. Используется функция chr для преобразования числового значения обратно в символ.
  8. Новый символ записывается в файл g.
  9. После окончания чтения исходного файла, файл f закрывается, а файл g сохраняется.

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


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

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

8   голосов , оценка 4.125 из 5