Răspuns:
program calcul_sin;
var x,s,p,copie,f:real;
n,i,t:integer;
begin
Write('x='); Read(x);
Write('n='); Read(n);
s:=x; p:=x*x; f:=1; t:=1; copie:=x;
for i:=1 to n do
begin
x:=x*p;
f:=f*(t+1)*(t+2);
if (i mod 2=0) then s:=s+x/f
else s:=s-x/f;
t:=t+2;
end;
x:=copie;
Writeln('sin(',x,')= ',s);
end.
Explicație:
pentru f, factorial, am luat tipul real, deoarece tipul integer nu va rezista pentru n mare....