Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2014, 18:00   #1
Petrichor
 
Регистрация: 24.12.2013
Сообщений: 5
По умолчанию Помогите найти ошибку пожалуйста

Код:
Program twofunkcii;
const e=0.0001;

type fun=function(x:real;n:byte):real;
 var k:real;
 function f1(x:real;n:byte):real;far;
 begin
 f1:=x/n;
 end;
 function f2(x:real;n:byte):real;far;
 begin
 f2:=x*x/((2*n-2)*(2*n-1));
 end;
 function sum(f:fun;nomer:byte;pervoe:real;x:real):real;
 var
 s,sl:real;
 j:byte;
 begin
 j:=nomer;
 sl:=pervoe;
 s:=0;
 while sl>e do
 sl:=pervoe;
 s:=0;
 while sl>e do
 begin
 s:=s+sl;
 j:=j+1;
 sl:=sl*f(x,j);
 sum:=s;
 end;
 end;
 begin
 writeln('sum=',sum(f1,0,1,2.1):5:3);
 writeln('sum=',sum(f2,1,2.7,2.7):5:3);
 readln
 end.
Задание: С погрешностью 0.0001 вычислить для ,Суммы (n=0 до бесконечности) x^n/n! x=2.1 и для Суммы (n=0 до бесконечности)x^(2n-1)/(2n-1)! x=2.7
Petrichor вне форума Ответить с цитированием
Старый 22.03.2014, 18:20   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

А в чем заключается проявление ошибки?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.03.2014, 19:29   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Код:
Program twofunkcii;
const e=0.0001;
type fun=function(x:real;n:byte):real;
function f1(x:real;n:byte):real;far;
begin
f1:=x/n;
end;
function f2(x:real;n:byte):real;far;
begin
f2:=x*x/((2*n-2)*(2*n-1));
end;
function sum(f:fun;nomer:byte;pervoe:real;x:real):real;
var s,sl:real;
    j:byte;
begin
j:=nomer;
sl:=pervoe;
s:=sl;
while abs(sl)>e do
 begin
  j:=j+1;
  sl:=sl*f(x,j);
  s:=s+sl
 end;
sum:=s
end;
begin
writeln('sum1=',sum(f1,0,1,2.1):0:4);
writeln('sum2=',sum(f2,1,2.7,2.7):0:4);
readln
end.
puporev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# пожалуйста помогите найти ошибку Olgazag Свободное общение 16 11.12.2013 07:33
помогите пожалуйста найти ошибку. ksu25 Паскаль, Turbo Pascal, PascalABC.NET 2 07.10.2009 20:38