IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Приложение паскаля к задачам физики, Непростая задача на паскале
dog
сообщение 5.02.2010 16:18
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 17
Пол: Женский

Репутация: -  0  +


Есть задача, небольшие затруднения, нужна помощь

Условие:

Найти длину траектории движения тела между точками, 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
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 29.07.2025 16:44
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"