Правильно подобный ряд начинать вычислять с меньших по величине членов - так будет выше точность.
// 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. Видно,что все цифры, полученные программой, точны.