Консультация № 183323
24.05.2011, 20:34
82.78 руб.
25.05.2011, 07:41
0 9 1
Здравствуйте! Прошу помощи в следующем вопросе:
вариант 4:


Обсуждение

Неизвестный
24.05.2011, 20:37
общий
вот 4 вариант нада сделать
давно
Академик
320937
2216
24.05.2011, 21:17
общий
Добрый вечер! Вам надо выполнить 4й вариант под а) и б) тремя способами, прямоугольниками, трапециями и методом Симпсона, сравнить. Получается 6 задач. Так?
давно
Мастер-Эксперт
319965
1463
24.05.2011, 21:49
общий
Адресаты:
Как считать. Еще надо вычислить интегралы аналитически - это еще плюс две задачи.
Неизвестный
25.05.2011, 00:26
общий
Адресаты:
да вы все правильно поняли
Неизвестный
25.05.2011, 00:31
общий
аналитически можно не выщитывать тут по желанию главное программа которая вычисляет 3 способами
Неизвестный
25.05.2011, 00:32
общий
заморачиваться не нада что бы в программу вводили сам интеграл пусть он будет уже в программе например
давно
Профессионал
304622
583
25.05.2011, 11:16
общий
Цитата: 349262
аналитически можно не выщитывать тут по желанию


А оценку погрешности на высчитывать? Или только 1-й пункт?
Неизвестный
25.05.2011, 11:49
общий
25.05.2011, 11:50
по желанию мне нужна только программа
давно
Профессионал
304622
583
26.05.2011, 21:43
общий
это ответ
Здравствуйте, Русинов Алексей Игоревич!

Извините, сразу не написал. Вот тут есть аналогичное задание.
165744
Я добавил метод прямоугольников.

Код:

program p183323;

const
a = 0;{нижний предел}
b = 1.5708;{верхний предел}
n = 10;{разбиение}

function f(x: real): real;
begin
f := x * sin(x);
end;

function IntegralPriam(a, b: real): real;
{метод прямоугольников}
var
h, k, s: real;
i: Integer;
begin
h := (b - a)/N;
s := 0;
k := a + h/2;
for i := 0 to N - 1 do
begin
s := s + f(k);
k := k + h;
end;
s := s*h;

IntegralRect := s;
end;

function IntegralTrap(a, b: real): real;
{метод трапеций}
var
h, k, s: real;
i: Integer;
begin
h := (b - a)/N;
s := (f(a) + f(b))/2;
k := a;
for i := 1 to N - 1 do
begin
k := k + h;
s := s + f(k);
end;
s := s*h;

IntegralTrap := s;
end;

function IntegralSimpson(a, b: real): real;
{метод симпсона}
var
h, k, s: real;
i: Integer;
begin
h := (b - a)/N;
s := 0;
k := a;
for i := 1 to N - 1 do
begin
k := k + h;
if i mod 2 = 0 then
s := s + 2*f(k)
else
s := s + 4*f(k);
end;

s := (s + f(a) + f(b))*h/3;

IntegralSimpson := s;
end;

begin
writeln('Metodom Piamougolnikov = ', IntegralPriam(a, b):0:5);
writeln('Metodom Trapecij = ', IntegralTrap(a, b):0:5);
writeln('Metodom Simpsona = ', IntegralSimpson(a, b):0:5);
readln
end.
Форма ответа