Выводить обычные и рекуррентные способы решения функций. Перевод кода Delphi - C#
Формулировка задачи:
Помогите пожалуйста перевести этот код в C#. Задача состоит в том что должен выводить обычные и реккурентные способы решения функций - e^x, ln(x) через ln(1+x) и cos(x). Дисциплина называется числовые методы. Не обязательно в form, просто консольное сойдет.
var Form1: TForm1; implementation {$R *.dfm} function fact(n:cardinal):extended; var f:extended; i:cardinal; begin if n=0 then f:=0 else f:=1; for i:=2 to n do f:=f*i; result:=f; end; function stepen(a:extended;n:integer):extended; var i:integer; begin result:=1; for i:=1 to n do result:=result*a; end; procedure TForm1.Button1Click(Sender: TObject); var s,s2,a,x,p,an,eps,sor,t:extended; n,i,k:integer; ps:boolean; begin sor:=0; s:=0; ps:=true; if edit1.text<>'' then begin x:=strtofloat(edit1.text); eps:=strtofloat(edit3.text); case radiogroup1.ItemIndex of 0:begin sor:=exp(x); if x<0 then begin x:=x*(-1);ps:=false;end; case radiogroup2.ItemIndex of 0:begin //0 s:=1+x; i:=2; an:=x; p:=1; repeat x:=x*an; //âîçâåäåГ*ГЁГҐ Г± ГІГҐГЇГҐГ*Гј p:=p*i; a:=x/p; s:=s+a; inc(i); until abs(a)<=eps; end; 1:begin a:=1; i:=1; s:=a; repeat a:=a*x/i; s:=s+a; inc(i); until abs(a)<=eps; end; end; if ps=false then s:=1/s; end; 1:begin x:=abs(x); while abs(x)>pi do begin if x>pi then x:=x-pi else x:=x+pi; end; sor:=cos(x); s:=1; n:=0; repeat n:=n+2; a:=power(x,n)*power(-1,n div 2)/fact(n); s:=s+a; until (abs(a)<=eps); end; //1 2:begin //2 ln(x+1) if x>-1 then begin sor:=ln(x+1); an:=x+1; k:=0; if an>2 then repeat an:=an/2; inc(k); until an<2; x:=an-1; i:=1; s:=x; n:=2; repeat i:=-i; a:=i*power(x,n)/n; inc(n); s:=s+a; until abs(a)<=eps; s:=k*ln(2)+s; end; end; end; end; edit4.Text:=floattostr(s); edit5.Text:=floattostr(sor); end; end.
Решение задачи: «Выводить обычные и рекуррентные способы решения функций. Перевод кода Delphi»
textual
Листинг программы
function stepen(a:extended;n:integer):extended; var i:integer; begin result:=1; for i:=1 to n do result:=result*a; end;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д