Правильно подобный ряд начинать вычислять с меньших по величине членов - так будет выше точность.
// PascalABC.NET 3.3, сборка 1599 от 17.12.2017 // Внимание! Если программа не работает, обновите версию!
begin var (s,i):=(0.0,1000); repeat s+=1/i; i-=1; until i=0; Writeln(s) end.
Результат 7.48547086055034
Во вложении приведено решение этой же задачи с точностью 20 цифр в пакете компьютерной математики Maple15. Видно,что все цифры, полученные программой, точны.