Показать сообщение отдельно
  #3  
Старый 23.10.2011, 18:41
Аватар для Kpyc
Kpyc Kpyc вне форума
Новичок
 
Регистрация: 05.05.2011
Сообщения: 75
Версия Delphi: Turbo Delphi
Репутация: 11
По умолчанию

Должен же быть 0 всегда при х=0. Поэтому все выражение должно обращаться в него же, а у меня, например, при m = 4, n = 0, x = 0 выдает ответ 5, т.е. пауэр возвращает 1..
Вот полный код:
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils, Math;

const
  eps = 0.001;

var
  x: extended;
  m: integer;

function Virajenie: extended;
begin
  result := power(1 + x, m);
end;

function Fact(n: integer): integer;
begin
  if n > 1
    then Fact := n * Fact(n - 1)
    else Fact := 1;
end;

function Xi(n: integer): extended;
begin
  Result := (m - n + 1) * power(x, n) / fact(n);
end;

function Ryad: extended;
var
  n: integer;
  buf: extended;

begin
  n := 0;
  Result := 0;
  repeat
    buf := Xi(n);
    writeln('x[',n,'] = ', buf:6:4);
    Result := Result + buf;
    inc(n);
  until abs(xi(n) - xi(n - 1)) < eps;

begin
  write('M = ');
  readln(m);
  x := 0;
  writeln('Virajenie = ', Virajenie:6:4);
  writeln('Ryad = ', Ryad:6:4);
  readln;
end.
Ответить с цитированием