я могу код выло жить но я в обшем смысле имел веду типа зачем писать sqr(x) когда можно x*x что то в этом роде
| Код | program Project21;
{$APPTYPE CONSOLE}
uses SysUtils;
procedure myarctan(x,e:real ;var s:real); var n1,n:real; begin begin s:=0; n1:=x; n:=1; while abs(n1)>E*n do begin s:=s+n1/n; n1:=(n1*(-sqr(x))); n:=n+2; end; end; end;
function myarctan1(x:real):real; var n1,n,s,e:real; begin s:=0; e:=0.000000000000001; n1:=x; n:=1; while abs(n1)>E*n do begin s:=s+n1/n; n1:=(n1*(-sqr(x))); n:=n+2; end; myarctan1:=s; end;
var q,a,x,e,s,s1,s2,s3:real; z: byte; begin repeat repeat writeln ('1 - Procedure'); writeln ('2 - Function'); Writeln ('3 - Exit'); readln (z) until (z=1) or (z=2) or (z=3); if (z=1) or (z=2) then begin case z of 1: begin write ('vvedute x '); readln(x); writeln; if x<1 then begin e:=0.0000000000000001; myarctan(x,e,s); s1:=s; x:=2*x; myarctan(x,e,s); s2:=s; x:=(x/2)*3; myarctan(x,e,s); s3:=s; x:=x/3; a:=arctan(x)+arctan(2*x)+arctan(3*x); q:=s1+s2+s3; writeln ('standart arctan y= ',a); writeln (' my arctan y= ',q); writeln ; end else begin writeln('|x|<1'); writeln('poprobui ehe raz'); writeln; end; end; 2: begin write ('vvedute x '); readln(x); writeln ; if x<1 then begin q:=myarctan1(x)+myarctan1(2*x)+myarctan1(3*x); a:=arctan(x)+arctan(2*x)+arctan(3*x); writeln ('standart arctan y= ',a); writeln (' my arctan y= ',q); writeln; end else begin writeln('|x|<1'); writeln('poprobui ehe raz'); writeln; end; end;
3: exit;
end; end; until z=3; { TODO -oUser -cConsole Main : Insert code here } end.
| |