Чтобы уменьшить количество вычислений, преобразуем формулу к рекуррентной.
Теперь все готово для программирования.
// PascalABC.NET 3.2, сборка 1353 от 27.11.2016
var
i,n:integer;
a,s:real;
begin
Write('n='); Read(n);
if n=1 then Writeln('S=1')
else
if n=2 then Writeln('S=0.5')
else begin
s:=0.5; a:=0.5;
for i:=3 to n do begin a:=a/i; s:=s-a end
end;
Writeln('S=',s)
end.
Пример
n=10
S=0.281718198853615