Если слова разделяются одним пробелом, то задачу можно решить так:
var s:string; k:integer;
begin
writeln('Введите строку');
readln(s);
s:=s+' ';
k:=0;
while pos(' ',s)>0 do
begin
k:=k+1;
delete(s,1,pos(' ',s));
end;
writeln('Количество слов в строке = ',k);
end.
Пример:
Введите строку
Вася пошел гулять.
Количество слов в строке = 3