Показать сообщение отдельно
Старый 20.02.2004, 10:54     # 3
albo
Advanced Member
 
Аватар для albo
 
Регистрация: 20.08.2003
Адрес: Москва
Пол: Male
Сообщения: 402

albo Луч света в тёмном царствеalbo Луч света в тёмном царствеalbo Луч света в тёмном царствеalbo Луч света в тёмном царствеalbo Луч света в тёмном царствеalbo Луч света в тёмном царстве
Вторая задача (алгоритм был откуда-то спёрт )
Код:
function Func(const x: Real): Real;
 begin
  Func:=x+2;
 end;

function Min(const v1, v2: Real): Real;
 begin
  if (v2>v1) then Min:=v1 else Min:=v2;
 end;

function Integrate(const a, b, eps: Real): Real;
var
 x1, x2, Result: Real;
 i, Count: Longint;
 begin
  Result:=0;
  Count:=Round(Abs(b-a)/eps);
  for i:=1 to Count do
   begin
    Result:=Result + (Abs(b-a) + Abs(Min(Func(a+Count*eps), Func(a+Count*eps+eps))))*eps;
   end;
  Integrate:=Result;
 end;

var
 a, b, eps: Real;
begin
 Write('Введите начальное значение x: ');
 Readln(a);
 Write('Введите конечное значение x: ');
 Readln(b);
 Write('Введите точность: ');
 Readln(eps);
 Writeln('Результат: ', Integrate(a, b, eps));
end.

Последний раз редактировалось albo; 20.02.2004 в 11:19.
albo вне форума