Показать сообщение отдельно
Старый 10.07.2014, 15:26   #1 (permalink)
lazyrazor4
"Все лгут."
 
Аватар для lazyrazor4
 
Регистрация: 22.08.2012
Сообщений: 174
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 224
По умолчанию Обчисление суммы ряда

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

Размер: 2.5 Кб

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.
lazyrazor4 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070