Помощь - Поиск - Пользователи - Календарь
Полная версия: вычисление F(x)=(1+x)^(5/2) разложением в ряд
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Szug
Уважаемые ПРОФИ!!! Очень прошу проверить правильность моего изваяния. Задача: составить программу вычисления F(x)=(1+x)^(5/2) разложением в ряд при |x|<1 c точностью e=0.0001. Вычисления оформить в виде подпрограммы-функции. Вот тело:
Код

Program KR;

Function F(var x:real):real;
var
Ut,Up,P,e:real;
i,n:integer;
begin
if abs(x)<1+0.001 then begin
i:=0; n:=1;
e:=0.0001;
Up:=1;
P:=1;
repeat  {начало цикла вычисления значений F}
Ut:=Up*(2.5-i)*x/n; {вычисление U(k+1)}
P:=P+Ut;
inc(i); inc(n);
Up:=Ut;
until abs(Ut)<=e+1e-8;    { проверка Е- выход из цикла}
F:=p;
end
else writeln('неверное X');
end;              {конец функции}

var x,Fx:real;
begin
writeln('Введите Х');
readln(x);
Fx:=F(x);
writeln('F = ',Fx);{вывод на экран}
readln;
end.

Укажите мне на имеющиеся ошибки, ПОЖАЛУЙСТА! Срочно надо сдать контрольную. СПАСИБО!!!

Извените, ошибочка вышла в условии, уже исправил
klem4
Считает твоя функция неправильно ... Сделай функцию для проверки и сравнивай значение своего Fx с

function RealFunc(x: real): real;
begin
RealFunc := exp(5 * ln(1 + x)) / 2; // при x = 1, ((x +1)^5) / 2 = 32/2 = 16
end;
volvo
{$TELEPATHY ON}

F(x)=(1+x)^5/2 это

F(x)=(1+x)^(5/2) ?
Szug
Извените, ошибочка вышла. Правильное условие задания F(x)=(1+x)^(5/2) .
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.