Не выведет, так как эти слова - именно первое и последнее отбрасываются, а после проверятся вся строка. Внимательнее смотри, код работает по твоим условиям.
Удаляем все до первого пробела:
Код:
Delete(S, 1, Pos(' ', S));
Удаляем все после последнего пробела:
Код:
b:=length(s);
while (b > 1) and (S[b]<>' ') do Dec(b);
Delete(S, b, Length(S)-(b+1));
В S - остается строка без первого и последнего слова, и с ней мы уже начинаем работать.