Алгоритм решения задачи может быть следующим. Определяем, откуда начинается подстрока 'del'; удаляем ее; с этой же позиции вставляем подстроку 'insert'. Этот процесс повторяется до тех пор, пока в заданной строке имеется подстрока 'del'.
Приведем текст программы:
Program Prim; Var St:String; K:Byte; Begin WriteLn('Введите строку символов: '); ReadLn(St); {Пока встречается подстрока 'del' в исходной строке.} While Pos('del',St)<>0 Do Begin {Определение номера первого символа} {очередного вхождения подстроки 'del' в строку.} K:=Pos('del',St); {Удаление подстроки в строке,} {начиная с номера вхождения.} Delete(St,K,Length('del')); {Вставка подстроки 'insert' с того же номера.} Insert('insert',St,K); End; WriteLn('Преобразованная строка: ',St); End.