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

Цитата:
Сообщение от Анел Посмотреть сообщение
2. составить программу на языке паскаль для вычисления определенного интеграла методом трапеций
Точность вычислений 10 (в -3 степени)

интеграл (от 0 до П/2) (Cosx+2) dx
Например, так:
Код:
CONST
 Xmin=0.0;
 Xmax=Pi/2;
 Eps=0.0001;
VAR
 h,Sbef,Saft,Rel:Real;

FUNCTION f(Xf:Real):Real;
 begin
  f:=Cos(Xf)+2;
 end;

FUNCTION SUM(Hs:Real):Real;
 Var
  Ns,i:Integer;
  SM:Real;
 begin
  Ns:=ROUND((Xmax-Xmin)/Hs);
  SM:=0;
  For i:=0 to Ns-1 do
   SM:=SM+Hs/2*(f(Xmin+Hs*i)+f(Xmin+Hs*(i+1)));
  SUM:=SM;
 end;

BEGIN
 h:=Xmax-Xmin;
 Sbef:=SUM(h);
 Repeat
  h:=h/2;
  Saft:=SUM(h);
  Rel:=ABS((Saft-Sbef)*2/(Saft+Sbef));
  Sbef:=Saft;
 Until Rel<Eps;
 WriteLn('        Result: ',Sbef:6:4);
 WriteLn('Accurate value: ',(1.0+Pi):6:4);
 ReadLn;
END.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

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