<em>// PascalABC.NET 3.2, сборка 1338 от 16.11.2016</em>
begin
// Вводим строку с клавиатуры, приводим буквы к строчным,
// разбиваем на слова по пробелу и помещаем их в массив aW
var aW:=ReadlnString('->').ToLower.ToWords;
// Пропускаем массив через фильтр, оставляющий слова, содержащие
// русскую букву "а" и подсчитываем, сколько слов прошло через него.
// Полученное количество выводим.
Writeln('Слов с "а": ',aW.Where(w->Pos('а',w)>0).Count)
end.
Пример
-> Наша Таня громко плачет: уронила в речку мячик
Слов с "а": 4
Var
a: integer;
begin
readln(a);
while (a > 3) do
a := a - 4;
writeln(a);
end.
-------------
Если нужно отнимать, даже если число перестанет быть отрицательным после очередной итерации:
var
a: integer;
begin
readln(a);
while (a > 0) do
a := a - 4;
writeln(a);
end.
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
function IsPalindrom(w:string):=(w.Length>1?w=ReverseString(w):False);
begin
var s:=ReadlnString('>');
Writeln('Палиндромов: ',s.ToWords.Where(w->IsPalindrom(w)).Count)
end.
<u><em>Тестовое решение</em></u>
> мадам ваш заказ уже несут - слышу топот официанта
Палиндромов: 3
Когда эта информация подтверждена и не является газетной уткой(дезинформацией)