Статистика
Всего в нашей базе более 4 327 664 вопросов и 6 445 979 ответов!

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

10-11 класс

интеграл по формуле Гаусса. Составить программу-функцию для вычисления значений
подъинтегральной функции. Составить головную программу, содержащую обращение к
вычислительным процедурам и осуществляющую печать результатов. Вычислить абсолютную
и относительную погрешность.
интеграл от 0 до 1 x(1-x)^2 dx
Программы составлять на Паскале

Trooli 02 дек. 2016 г., 1:36:56 (7 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Lin4004
02 дек. 2016 г., 4:11:32 (7 лет назад)

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%



Ответить

Другие вопросы из категории

Program ggl;

var n, i, sum : integer;
a : array [1..1000] of integer;
begin readln (n);
sum := 0;
for i := 1 to n do begin
a[i] := random (100);
write (a[i], ' ');
sum := sum + a[i];
end;
writeln;
write (sum / n);
end.
ОБЪЯСНИТЬ ЧТО ВЫПОЛНЯЕТ КАЖДАЯ СТРОКА!!!

Записать последовательность операторов для решения задачи:

Дано описание:
type month = 1..12;
var d:28..31;
m:month;
Переменной d присвоить количество дней в месяце m (год считать не високосным)

Решите четвертую задачку в pascal

Читайте также

Даны три одномерных массива. Упорядочить их по возрастанию элементов. Составить программу проверки, сколько раз повторяется заданное число в каждом

массиве. Результаты сохранить в одномерном массиве и элементы массива отсортировать по возрастанию Даны три одномерных массива. Упорядочить их по возрастанию элементов. Составить программу проверки, сколько раз повторяется заданное число в каждом массиве. Результаты сохранить в одномерном массиве и элементы массива отсортировать по возрастанию

Составить программу в СИ:

1) Составить программу, проверяющую, является ли заданное натуральное число совершенным, то есть равным сумме своих положительных делителей, кроме самого этого числа.
2) Напечатать числа в виде следующей таблицы:
5 5 5 5 5
6 6 6 6
7 7 7
8 8
9

Составить программу на языке паскаль

задание: дана матрица А(N, N). Составить программу подсчета количества положительных элементов, расположенных выше главной диагонали

1. Составить программу для нахождения наибольшего числа из трех чисел.

2. Составить программу для упорядоченное двух элементов по убыванию.

1)составить программу, организующую массив записей о книгах, ввести информацию по следующим полям:автор, название, год издания. Провести сортировку и

вывести список книг, изданных после 2003 года.



2)составить программу , организующую массив записей о пяти студентах и их оценках по трем предметам. провести сортировку и вывести список отличников.



Вы находитесь на странице вопроса "Составить программу, вычисляющую заданный", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.