begin
var (n, S) := (ReadInteger, 0);
loop Trunc(Log10(n) + 1) div 2 do
S += n mod 10;
n := n div 10
end;
S.Println
end.
Если число цифр нечетное, то половиной считаем большую часть.
var n,k,s: integer;
readln(n);
k:=1;
while k*k<n do k:=k+1;
s:=0;
while n>k do
s:=s+n mod 10;
n:=n div 10;
writeln(s);
//PascalABC.NET *****************************