var
s: string;
p: integer;
begin
s := 'this is the main function in function ...';
repeat
p := pos('function', s);
if p > 0 then begin
delete(s, p, length('function'));
insert('procedure', s, p);
end;
until p = 0;
writeln(s);
end.
(почти - потому, что это будет работать неправильно например на строке: "malfunction" - так что выражение будет немного сложнее...)