![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
dog |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Женский Репутация: ![]() ![]() ![]() |
Есть задача, небольшие затруднения, нужна помощь
Условие: Найти длину траектории движения тела между точками, 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.
Сообщение отредактировано: dog - 5.02.2010 16:28 |
![]() ![]() |
![]() |
Текстовая версия | 29.07.2025 16:44 |