Задать вопрос
20 ноября, 09:51

Составить программу, вычисляющую заданный

интеграл по формуле Гаусса. Составить программу-функцию для вычисления значений

подъинтегральной функции. Составить головную программу, содержащую обращение к

вычислительным процедурам и осуществляющую печать результатов. Вычислить абсолютную

и относительную погрешность.

интеграл от 0 до 1 x (1-x) ^2 dx

Программы составлять на Паскале

+2
Ответы (1)
  1. 20 ноября, 10:45
    0
    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%
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Составить программу, вычисляющую заданный интеграл по формуле Гаусса. Составить программу-функцию для вычисления значений подъинтегральной ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Умоляю, помогите с Паскалем 1. Пользователь вводит неотрицательное однозначное число A. Написать программу: вычисляющую в случае ввода 1 - площадь круга с радиусом A, вычисляющую в случае ввода 2 - площадь квадрата со стороной A, вычисляющую в
Ответы (1)
Задание #1 Напиши программу, вычисляющую периметр и площадь прямоугольника. Используй для этого длину и ширину прямоугольника, которые вводятся с клавиатуры.
Ответы (1)
1. Написать программу, вычисляющую сумму отрицательных чисел, кратных 5, среди пяти, вводимых с клавиатуры. 2. Написать программу, вычисляющую произведение чисел, оканчивающихся цифрами 2 и 4, среди пяти, вводимых с клавиатуры. 3.
Ответы (1)
1. написать программу, вычисляющую значение функции y=x-24 2. написать программу, вычисляющую значение функции (y=f (x)) y=x-2, если x>0, y=0, если x=0, y=x*x, если x
Ответы (1)
Напишите функцию, вычисляющую длину отрезка по координатам его концов. С помощью этой функции напишите программу на Pascal ABC, вычисляющую периметр треугольника по координатам его вершин
Ответы (1)