Показать сообщение отдельно
Старый 10.01.2015, 08:36   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Вилена Посмотреть сообщение
Нужно срочно, сегодня утром экзамен а эту программу до экзамена сдавать...
Вот думаю - не предложить ли Госдуме законопроект "О порядке применения телесных наказаний в учебных заведениях РФ в случае хронической лености и нерадивости обучаемых"...
Ну а пока - получите:
Код:
Const
 Eps=0.0001;

Var
 i:Integer;
 S,x,a,AV,AE,RE:Real;

Begin
 Write('x= ');
 Readln(x);
 AV:=Ln(x+Sqrt(1+x*x));
 a:=x;
 S:=a;
 i:=0;
 Repeat
  Inc(i);
  a:=-a*x*x*(2*i-1)/(2*i)*(2*i-1)/(2*i+1);
  S:=S+a;
 Until Abs(a)<Eps;
 If x=0 then
  begin
   AE:=0;
   RE:=0;
  end
 else
  begin
   AE:=Abs(S-AV);
   RE:=Abs((S-AV)/AV)*100;
  end;
 WriteLn('Result: ',S:0:6,'  Acc.value: ',AV:0:6,'  Abs.err: ',AE:0:6,'  Rel.err: ',RE:0:6,'%');
 Readln
End.
При тестировании программы величину х следует брать где-то в окрестности нуля, во всяком случае |х|<1.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

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