Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Обчисление суммы ряда (http://www.tehnari.ru/f41/t97390/)

lazyrazor4 10.07.2014 15:26

Обчисление суммы ряда
 
Вложений: 1
Здравствуйте. Вот набросал такой код, но что-то не так с Ak, и из-зи этого программа не работает, нужно обязательно с рекурсиями для файториала, степени, Ak и суммы. Delphi. Вложение 191020

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.

Gruvi 11.07.2014 01:52

Вот тут у тебя K=-1
function Stepin(a,b:real):real;
begin
a:=-1;
Result := exp(b*ln(a)); //підносимо до степеня
end;

Да и зачем ты так степень выписываешь?
в Uses подключи библиотеку Math
и считай через power(a,b) т.е. возвести число a в степень b.

Вспомни элементарную математику
e^(ln(a)) = a (a>0)
ln(e^a) = a
ln(xy) = ln(x)+ln(y)
ln(1) = 0
ln(-1) = ipi - т.е. комплексный натуральный логарифм
lim((ln(1+x))/x) = 1 - где придел x стремится к 0


Часовой пояс GMT +4, время: 00:24.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.