Решение: я попробую объяснить словами...
var a,b,c:integer;
begin
a:=1257;
c:=0;
while (a>0) do т.к a>0 (1257>0) начинаем решить действия
begin
if (a mod 2 <> 0) then Здесь: 1257:2=628 (остаток 1)
b:= a mod 10; Здесь: 1257:10=125 (остаток 7)
c:=c+b; Получается, мы складываем остатки и
a:=a div 10; получаем 8. Для ответа нам пригодится
end; число, составленное из остатка а и 8,
writeln(c); то есть 18.
end.
Ответ: 18.