
Как можно исправить?
program third;
const a=0.5;
b=-3;
Dt=0.45;
var z,t: real;
begin
t:=-2;
while (t<=0.5) do
begin
z:=(1/cos(t)+1/exp(3*ln(cos(t*t))+t)/exp(2*t*b));
writeln('t=',t:4:2,' ', 'z=',z:4:1);
t:=t+Dt;
end;
end.
2.Не пойму как вычислить сумму(факториал) по формуле
1+ exp(-1*ln(i))*exp((2*i)*ln(x))/(2*i+1). Пробовал так, но с большими числами выдает ошибку

program labfivetwo;
var a, b, x,f, s:real;
n,i:integer;
begin
write('введите x=');
read(x);
write('введите n>=1. n=');
read(n);
f:=1;
for i:=1 to n do
begin
if odd(i) then a:=-1
else a:=1;
b:=exp(-1*ln(i))*exp((2*i)*ln(x))/(2*i+1);
s:=f+a*b;
end;
writeln('summa',s:8:5);
end.
Заранее спасибо за помощь!