Здравствуйте. Вот набросал такой код, но что-то не так с Ak, и из-зи этого программа не работает, нужно обязательно с рекурсиями для файториала, степени, Ak и суммы. Delphi.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
VAR n: integer;
s: double;
{Попередній опис функції Ak}
Function Ak(k: integer ): double; FORWARD;
function Stepin(a,b:real):real;
begin
a:=-1;
Result := exp(b*ln(a)); //підносимо до степеня
end;
{Функція обчислення факторіалу}
Function Fact(k: integer ): longint;
begin
if (k=0) or (k=1) then result:=1
else result:=Fact(k-1)*k;
end;
{Функція обчислення Ak}
Function Ak(k: integer ): double;
begin
if k=1 then result:=1/2
else result:=1+(Stepin(-1,k)/Fact(k+1));
end;
{Функція обчислення суми}
Function Sum(k: integer ): double;
begin
if k=1 then result:=1/4
else result:=Sum(k-1)+(Ak(k))/Fact(k);
end;
begin
{Введення початкових даних}
n:=StrToInt(Edit1.Text);
{Обчислення суми}
s:=Sum(n);
{Виведення результату}
Edit2.Text:=FloatToStr(s);
end;
end.