По результатам работы необходимо в отчёте алгоритм в виде блок-схемы и на алгоритмическом языке (с необходимыми комментариями и пояснениями), а также контрольный пример, демонстрирующий правильность работы алгоритма. форма отчёта ниже. программа должна вычислять значение определенного интеграла от функцииsin(x)/x для нулевого нижнего и действительного верхнего предела a с точностью ε с использованием рекурсии.

sataevaelsa sataevaelsa    1   09.06.2019 09:00    0

Ответы
maxim199431 maxim199431  08.07.2020 07:26
Function Intg(p, b: real; n: integer; eps: real): real;
{Метод прямоугольников, рекурсия}
var
  a, x, h, s: real;
  i: integer;
begin
  a := 0;
  h := (b - a) / n;
  x := a;
  s := 0;
  for i := 1 to n do
  begin
    s := s + sin(x);
    x := x + h;
  end;
  if abs(s * h - p) > eps then
    Intg := Intg(s * h, b, 2 * n, eps)
  else
    Intg := s * h;
end;

var
  b, eps: real;

begin
  write('Задайте верхний предел интегрирования и точность: ');
  Readln(b, eps);
  writeln('Значение интеграла: ', Intg(0, b, 2, eps):0:7);
end.

Тестовое решение:

Задайте верхний предел интегрирования и точность: 2 0.000001
Значение интеграла: 1.4161460

Точное значение интеграла равно 1-cos(2) ≈1.416146836, т.е. заданная точность обеспечивается.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика