Вычислить длину дуги гладкой кривой - Pascal
Формулировка задачи:
Вычислить длину дуги s гладкой кривой y = f(x), содержащейся между двумя точками с абс-циссами x = a и x = b по формуле:
Интеграл вычисляется заданным численным методом с точностью Е*=10-5.
А вот мой вариант: Найти длину дуги кривой y = ex , содержащейся между точками [0;1] и [1;e] мето-дом парабол.
Как я понимаю это метод Симонса? (или я не прав?
Кто сможет написать прогу на паскале. Очень надо. Вроде бы там еще график надо в в екселе написать)
Кто напишет пишите сот в ЛС на телефон 100р кину
Решение задачи: «Вычислить длину дуги гладкой кривой»
textual
Листинг программы
function f(x: real): real; begin f := sqrt(1 + sqr(exp(x))) end; const a = 0.0; b = 1.0; eps = 1e-5; var n, i: integer; s1, s: real; begin n := 2; {для параболы нужно 3 точки, значит, изначально интервал разбиваем на 2 части} s := (b - a) / 6 * (f(a) + 4 * f((a + b) / 2) + f(b)); {формула Симпсона для разбиения интервала на 2 части} repeat s1 := s; {запоминаем предыдущее значение интеграла} n := 2 * n; {удваиваем количество частей в интервале} s := f(a) + f(b); {начальное значение интеграла} for i := 1 to n - 1 do if odd(i) then s := s + 4 * f(a + (b - a) * i / n) else s := s + 2 * f(a + (b - a) * i / n); s := s * (b - a) / 3 / n until abs(s - s1) / 15 <= eps; write('Curve length = ', s:0:6); readln end.
Объяснение кода листинга программы
- Объявляется функция под названием
f
, которая принимает аргументx
типа real и возвращает значение типа real. Она вычисляет квадратный корень из выражения1 + exp(x) в квадрате
. - Объявляются константы
a
(со значением 0.0),b
(со значением 1.0) иeps
(со значением 1е-5). - Объявляются переменные
n
иi
целочисленного типа иs1
,s
вещественного типа. - Выполняется блок кода, в котором вычисляется интеграл методом Симпсона для заданной функции на отрезке [a, b] с точностью eps.
- В цикле происходит удвоение количества частей в интервале и пересчет значения интеграла.
- Повторяется шаг 5, пока условие
abs(s - s1) / 15 <= eps
не станет истинным. - На экран выводится длина дуги гладкой кривой с точностью до 6 знаков после запятой.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д