Работа с файлами (удалить слово из строки) - Free Pascal

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

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

Program deleter;
type fil=text;
var f1,f2:fil;
a,b:string;
Procedure reader(var f1:fil;a,b:string);
begin
reset(f1);
readln(f1,a);
close(f1);
Writeln(A);
writeln('Kakoe slovo neobhodimo udalit?');
readln(b);
end;
procedure deleter(var a,b:string);
begin
 while pos(b,a)>0 do
 delete (a,pos(b,a),length(b));
end;
procedure writer(var f:fil;a:string);
begin
readln;
rewrite(f2);
writeln(f2,a);
close(f2);
end;
begin
assign(f1,'Input.txt');
assign(f2,'Output.txt');
reader(f1,a,b);
deleter(a,b);
writer(f2,a);
end.
После выполнения процедуры Deleter строка a сбрасывается, следовательно, файл output пуст. Что не так?

Решение задачи: «Работа с файлами (удалить слово из строки)»

textual
Листинг программы
Procedure reader(var f1:fil; VAR a,b:string);

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

  1. Создается процедура с именем reader
  2. В параметрах процедуры указываются переменные: f1 типа fil и a и b типа string
  3. В теле процедуры объявляются две строки текста: s и t
  4. Устанавливается флаг found в значение false
  5. Запускается цикл while, который выполняется до тех пор, пока не встретит символ новой строки или символ конца строки
  6. Внутри цикла проверяется значение флага found. Если оно равно false, то выполняется следующая последовательность действий:
    • Строка s присваивается значение текущего символа
    • Строка t присваивается значение следующего символа
    • Проверяется, является ли строка s словом
    • Если строка s является словом, то выполняется следующая последовательность действий:
      • Строка b присваивается значение строки t
      • Строка t присваивается значение следующего символа
    • Если строка s не является словом, то выполняется следующая последовательность действий:
      • Строка t присваивается значение следующего символа
  7. Если значение флага found равно true, то выполняется следующая последовательность действий:
    • Строка b присваивается значение строки t
    • Строка t присваивается значение следующего символа
  8. После выхода из цикла while, выполняется следующая последовательность действий:
    • Строка b присваивается значение строки t
  9. В конце процедуры возвращается значение переменной b
  10. Значение переменной b присваивается переменной a
  11. Переменная a присваивается значение переменной f1
  12. Переменная f1 закрывается
  13. Значение переменной a возвращается из процедуры

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


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

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

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