А что это значит?
write(y:0:8);
writeln(' - ',a:0);
Сейчас попробую эту программу в другой язык забить.
Хм, программа работает. Правда я убрал фразу else a = 0
А можно и ещё проще:
k:=1;
y:=1;
while (y > 0.000001) do
begin
y:=1/(sqrt(abs(x))+(k*k));
S:=S+y;
k:=k+1;
end;
writeln('сумма вычислений с точностью до 10^(-6) равна',S:0:3);
readln;
end.
Вот и всё. Тоже вроде работает.