uses crt;
const rz=['.',',',';',':','?','!'];
var s,s1,sk:string;
len,k,i,ik,f:byte;
begin
clrscr;
writeln('Введите строку из слов, отделеннvх пробелами:');
readln(s);
for i:=1 to length(s) do{заменим разделители на пробелы}
if s[i] in rz then s[i]:=' ';
s:=s+' ';{добавим к ней пробел}
while pos(' ',s)>0 do{удалим лишние пробелы, в кавычках 2 пробела}
delete(s,pos(' ',s),1);{в кавычках 2 пробела}
if s[1]=' 'then delete(s,1,1);{1 удаляем}
sk:='';{короткое слово, пока его нет}
k:=255;{длина короткого слова}
while pos(' ',s)>0 do{пока есть пробелы}
begin
len:=pos(' ',s)-1;{длина очередного слова}
s1:=copy(s,1,len);{само слово}
if len<k then{если меньше предыдущих}
begin
sk:=s1; {запомним}
k:=len; {его длина}
end;
delete(s,1,pos(' ',s));{удаляем проверенное слово, следующее первое}
end;
writeln('Самое короткое слово: ',sk);
readln
end.