Var a:string; i,k:integer;
begin
writeln('введи строку:');
readln(a);
for i:= 1 to length(a) do
if (a[i]=' ') and (k=0) then begin
insert('!',a,i);
k:=1;
end else k:=0;
insert('!',a,length(a)+1);
writeln(a);
end.
//k выступает в программе в роли переключателя, после того как пробел считывается происходит ошибка: этот пробел начинает считываться бесконечно, поэтому нам необходимо пропустить один символ (тот самый пробел)