Доброго времени суток! Помогите пожалуйста решить задачу по информатике. Заранее спасибо. Составить программу, вычисляющую задан
Доброго времени суток! Помогите пожалуйста решить задачу по информатике. Заранее спасибо. Составить программу, вычисляющую заданный интеграл по формуле Гаусса. Составить программу-функцию для вычисления значений подъинтегральной функции. Составить головную программу, содержащую обращение к вычислительным процедурам и осуществляющую печать результатов. Вычислить абсолютную и относительную погрешность. Интеграл от 0 до 1 cos xe в степени -x в квадрате dx, eps=0,0001
function f(x: double): double; begin f := cos(x * exp(-sqr(x))) end;
function gsc(a, b: double): double; {получение суммы для метода Гаусса} var p, q, s, s1, s2, s3, s4, s5: double; 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: double): double; {рекурсивная ф-ция подсчета с заданной точностью eps} {gs - интеграл на (a,b), получать заранее} var m, ia, ib: double; 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: double): double; begin Result := Gauss(a, b, eps, gsc(a, b)); end;
var a, b, eps, y1, y2: double;
begin a := 0; b := 1; eps := 1e-4; y1 := Intg(a, b, eps); y2:=0.9428752387; { найдено при помощи другой программы интегрирования } writeln('Значение интеграла по методу Гаусса: ', y1:0:8); writeln('Значение интеграла по формуле: ', y2:0:8); writeln('Абсолютная погрешность составляет: ', abs(y2-y1):0:8); writeln('Относительная погрешность составляет: ', abs((y2-y1)/y1)*100:0:6,'%'); end.
Тестовое решение: Значение интеграла по методу Гаусса: 0.94286734 Значение интеграла по формуле: 0.94287524 Абсолютная погрешность составляет: 0.00000790 Относительная погрешность составляет: 0.000838%
Замечание: Ввиду неоднозначной трактовки исходной подынтегральной функции сделано второе решение, в котором дается другой ее вариант.
function f(x: double): double; begin f := cos(x) * exp(-sqr(x)) end;
function gsc(a, b: double): double; {получение суммы для метода Гаусса} var p, q, s, s1, s2, s3, s4, s5: double; 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: double): double; {рекурсивная ф-ция подсчета с заданной точностью eps} {gs - интеграл на (a,b), получать заранее} var m, ia, ib: double; 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: double): double; begin Result := Gauss(a, b, eps, gsc(a, b)); end;
var a, b, eps, y1, y2: double;
begin a := 0; b := 1; eps := 1e-4; y1 := Intg(a, b, eps); y2:=0.6561743624; { найдено при помощи другой программы интегрирования } writeln('Значение интеграла по методу Гаусса: ', y1:0:8); writeln('Значение интеграла по формуле: ', y2:0:8); writeln('Абсолютная погрешность составляет: ', abs(y2-y1):0:8); writeln('Относительная погрешность составляет: ', abs((y2-y1)/y1)*100:0:6,'%'); end.
Тестовое решение: Значение интеграла по методу Гаусса: 0.65618325 Значение интеграла по формуле: 0.65617436 Абсолютная погрешность составляет: 0.00000888 Относительная погрешность составляет: 0.001354%
Ноль, так как если зафиксировать две одинаковые буквы, то остальные должны быть разные. получается на 4 позиции остается всего лишь 3 буквы, что является недостаточным
<span>При работе с Панелью форматирования выравнивание осуществляется с помощью расположенных на ней кнопок. Одинарный, по<span>луторный и двойной межстрочные интервалы также можно </span><span>установить с помощью кнопок, предварительно настроив Панельформатирования. Другие межстрочные интервалы можно установить только с помощью диалогового окна. Отступы абзаца и первая <span>строка устанавливаются с помощью Горизонтальной координатной линейки (рис. 14); при этом верхняя метка указывает начало </span>первой (красной) строки, а нижние — ширину абзаца.</span></span><span><span>Чтобы форматирование абзаца происходило в процессе его ввода, </span>следует задать необходимые параметры, а уже затем вводить текст.</span><span>Для форматирования нескольких расположенных друг за дру<span>гом абзацев их необходимо предварительно выделить. При форма<span>тировании одного абзаца достаточно установить курсор в любом </span><span>месте этого абзаца.</span></span></span>
Система управление – очень сложное, комплексное понятие, которое используется в любом бизнесе. Без понимания этой концепции, очень сложно выстроить качественный управленческий аппарат. Но перед тем, как уяснить ее сущность, необходимо рассмотреть целый ряд понятий и определений.<span>