В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
yourdream1806
yourdream1806
14.11.2020 12:27 •  Информатика

разобраться с этой ссылкой
https://www.niisi.ru/kumir/dl.htm

Показать ответ
Ответ:
diyoyoroo
diyoyoroo
19.03.2020 09:15
Const
  {константы десятиточечного метода Гаусса}
  g10c1 = 0.9739065285 / 6.2012983932;
  g10c2 = 0.8650633667 / 6.2012983932;
  g10c3 = 0.6794095683 / 6.2012983932;
  g10c4 = 0.4333953941 / 6.2012983932;
  g10c5 = 0.1488743390 / 6.2012983932;
  g10x1 = 0.0666713443 / 6.2012983932;
  g10x2 = 0.1494513492 / 6.2012983932;
  g10x3 = 0.2190863625 / 6.2012983932;
  g10x4 = 0.2692667193 / 6.2012983932;
  g10x5 = 0.2955242247 / 6.2012983932;

function f(x: real): real;
begin
  f := x * sqr(1 - x)
end;

function gsc(a, b: real): real;
{получение суммы для метода Гаусса}
var
  p, q, s, s1, s2, s3, s4, s5: real;
begin
  p := (b + a) / 2; q := (b - a) / 2;
  s1 := g10c1 * (f(p + q * g10x1) + f(p - q * g10x1));
  s2 := g10c2 * (f(p + q * g10x2) + f(p - q * g10x2));
  s3 := g10c3 * (f(p + q * g10x3) + f(p - q * g10x3));
  s4 := g10c4 * (f(p + q * g10x4) + f(p - q * g10x4));
  s5 := g10c5 * (f(p + q * g10x5) + f(p - q * g10x5));
  s := s1 + s2 + s3 + s4 + s5;
  Result := s * (b - a)
end;

function Gauss(a, b, eps, gs: real): real;
{рекурсивная ф-ция подсчета с заданной точностью eps}
{gs - интеграл на (a,b), получать заранее}
var
  m, ia, ib: real;
begin
  m := (a + b) / 2;
  ia := gsc(a, m);
  ib := gsc(m, b);
  if abs(ia + ib - gs) > eps then
  begin
    ia := gauss(a, m, eps / 2, ia); {рекурсия для первой половинки}
    ib := gauss(m, b, eps / 2, ib){рекурсия для второй половинки}
  end;
  Result := ia + ib
end;

function Intg(a, b, eps: real): real;
begin
  Result := Gauss(a, b, eps, gsc(a, b));
end;

var
  a, b, eps, y1, y2: real;

begin
  a := 0;
  b := 1;
  eps := 1e-6;
  y1 := Intg(a, b, eps);
  y2:=sqr(b)*(sqr(b)/4-2*b/3+0.5);
  writeln('Значение интеграла по методу Гаусса: ', y1:0:8);
  writeln('Значение интеграла по формуле: ', y2:0:8);
  writeln('Абсолютная погрешность составляет: ', abs(y2-y1):0:8);
  writeln('Относительная погрешность составляет: ', abs((y2-y1)/y1)*100:0:6,'%');
end.

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

Значение интеграла по методу Гаусса: 0.08333337
Значение интеграла по формуле: 0.08333333
Абсолютная погрешность составляет: 0.00000004
Относительная погрешность составляет: 0.000044%
0,0(0 оценок)
Ответ:
NadiushaSpermiulina
NadiushaSpermiulina
23.05.2023 19:32
Var a:char;
begin
writeln('Введите букву');
readln(a);
case a of
'q': writeln('w');
'w': writeln('e');
'e': writeln('r');
'r': writeln('t');
't': writeln('y');
'y': writeln('u');
'u': writeln('i');
'i': writeln('o');
'o': writeln('p');
'p': writeln('a');
'a': writeln('s');
's': writeln('d');
'd': writeln('f');
'f': writeln('g');
'g': writeln('h');
'h': writeln('j');
'j': writeln('k');
'k': writeln('l');
'l': writeln('z');
'z': writeln('x');
'x': writeln('c');
'c': writeln('v');
'v': writeln('b');
'b': writeln('n');
'n': writeln('m');
'm': writeln('q');
end;
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота