Помощь - Поиск - Пользователи - Календарь
Полная версия: Приложение паскаля к задачам физики
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
dog
Есть задача, небольшие затруднения, нужна помощь

Условие:

Найти длину траектории движения тела между точками, A и C, если от точки A(Xa=1) до точки B(Xb=3) тело двигалось по кривой Y1=2*X^2+7, а от точки B до точки C(Xc=8) - по кривой Y2=25*(1-sin(0.*(x-3))).

Дополнение к условию(возможно оно не нужно к этой задаче оно для всех вариантов задания одно):

Интервалы вычислять приближенно с заданной точностью eps>0, для этого пользоваться правилом Рунге: если приближенное вычисление интеграла (In) вычисkятьпри n=n0, 2*n0, 4*n0, 8*n0,...(n0 - некоторое начальное число отрезков деления), тогда при |I2n-In|/3<eps за искомую величину интеграла можно взять I2n

Идея решения такова:

Нужно взять интеграл сначала от точки A до точки B, затем второй интеграл от точки B до точки C, затем их сложить, это и будет решением задачи. Вычисления подинтегральных выражений наверно логичнее вынести в отдельные функции f1 и f2, чтобы вызывать их из функции integral. Возможно идея неправильная.


PROGRAM PRP5;
var
e,x,l: real;
a, b, c:Integer;

{Функция, вычисляющая первое подинтегральное выражение}
FUNCTION f1(n:REAL):REAL;
BEGIN
f1:=2*SQR(n)+7;
END;
{Функция, вычисляющая второе подинтегральное выражение}
FUNCTION f2(m:REAL):REAL;
BEGIN
f2:=25*(1-SIN(0.2*(m-3)));
END;

{Функция, вычисляющая значение интеграла методом трапеций}
FUNCTION integral(d, f, r:INTEGER; z, eps:REAL):REAL;

BEGIN
{понятно что функция должна считать интегралы но как?}
END;

BEGIN
a:=1;
b:=3;
c:=8;
WRITELN('Введите переменную x');
READLN(x);
WRITELN('Введите заданную точность');
READLN(e);
l:=integral(a, b, x, e)+integral(b, c, x, e);
WRITELN('Дина траектории ', l:5:2);
END.

volvo
Если сделать так, как написано здесь: Процедурные типы , будет проще работать с функцией Integral, при изменении под-интегральной функции Integral меняться не будет...

Сюда тоже загляни: Численное интегрирование
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.