// PascalABC.NET 3.3, сборка 1634 от 14.02.2018
// Внимание! Если программа не работает, обновите версию!
function CalcWord(Stroka: string):integer;
begin
Result:=Stroka.ToWords.Where(w->w=w.Inverse).Count
end;
begin
var s:='казак пошел в кабак и сделал заказ';
Writeln('Слов-палиндромов: ',CalcWord(s))
end.
Результат
Слов-палиндромов: 5
Если однобуквенные слова не учитываются, надо изменить Where:
Where(w->(w=w.Inverse) and (w.Length>1))