Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


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

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

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

Старый 10.07.2014, 15:26
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Давайте не будем терять время зря, а обратим внимание на сходные темы

Вычислить значения суммы ряда при заданных с консоли начальном и конечном значениях
Вычисление суммы функционального ряда
Нахождение конечной суммы ряда
Вычислить значение суммы
Нахождение суммы, цикл. Паскаль.
Произведение ряда

Старый 11.07.2014, 01:52   #2 (permalink)
Gruvi
VIP user
 
Аватар для Gruvi
 
Регистрация: 10.03.2011
Сообщений: 765
Записей в дневнике: 1
Сказал(а) спасибо: 10
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3453
По умолчанию

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

Яндекс

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

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




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

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.