Работа с файлами (удалить слово из строки) - 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.Решение задачи: «Работа с файлами (удалить слово из строки)»
textual
Листинг программы
Procedure reader(var f1:fil; VAR a,b:string);
Объяснение кода листинга программы
- Создается процедура с именем
reader - В параметрах процедуры указываются переменные:
f1типаfilиaиbтипаstring - В теле процедуры объявляются две строки текста:
sиt - Устанавливается флаг
foundв значениеfalse - Запускается цикл while, который выполняется до тех пор, пока не встретит символ новой строки или символ конца строки
- Внутри цикла проверяется значение флага
found. Если оно равноfalse, то выполняется следующая последовательность действий:- Строка
sприсваивается значение текущего символа - Строка
tприсваивается значение следующего символа - Проверяется, является ли строка
sсловом - Если строка
sявляется словом, то выполняется следующая последовательность действий:- Строка
bприсваивается значение строкиt - Строка
tприсваивается значение следующего символа
- Строка
- Если строка
sне является словом, то выполняется следующая последовательность действий:- Строка
tприсваивается значение следующего символа
- Строка
- Строка
- Если значение флага
foundравноtrue, то выполняется следующая последовательность действий:- Строка
bприсваивается значение строкиt - Строка
tприсваивается значение следующего символа
- Строка
- После выхода из цикла while, выполняется следующая последовательность действий:
- Строка
bприсваивается значение строкиt
- Строка
- В конце процедуры возвращается значение переменной
b - Значение переменной
bприсваивается переменнойa - Переменная
aприсваивается значение переменнойf1 - Переменная
f1закрывается - Значение переменной
aвозвращается из процедуры