Возникает ошибка: ERROR 202: Stack overflow error!!! А как исправить - не знаю...
Вот код:
| Код | Var p3,x,x2,sum1,sum2,sravn,p4,p5,p6,p7,p8:real; k,p,ch,p2,znam,znam1:integer;
function factorial(n:integer):integer; begin if n<=1 then factorial:=1 else factorial:=n*factorial(n-1); end;
function stepen(a,n:real):real; begin if n=0 then stepen:=1 else stepen:=a*stepen(a,n-1); end;
BEGIN k:=-1; x2:=stepen(1/10,15); repeat x:=-1/4; k:=k+1; p:=4*k+1; ch:=factorial(p); p2:=2*k; znam:=factorial(p2); znam1:=znam*znam; repeat x:=x+x2; if (2*k>=0) then p3:=(stepen(x,2*k)) else p3:=(1/stepen(x,abs(2*k))); sum1:=ch/znam1*p3;
p4:=1-4*x; p5:=(1/stepen(p4,3/2)); p6:=1+4*x; p7:=(1/stepen(p6,3/2)); p8:=p5+p7; sum2:=1/2*p8; sravn:=stepen(1/10,15); until ((x>=1/4) or (abs(sum1-sum2)<sravn)); if(abs(sum1-sum2)<sravn) then begin writeln('Sum1=',sum1); writeln('Sum2=',sum2); writeln('K=',k); break; end else continue; until(abs(sum1-sum2)<sravn); END.
|
|