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

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

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

 
 Ответить  Открыть новую тему 
> Задача с физикой, Кривая погони
MSDDV
сообщение 2.06.2005 4:53
Сообщение #1


Новичок
*

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

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


Блин есть задачка а я даже зацепиться не могу с чего начать,
может кто знает или видел....

«Кривая погони». В точке Р находится собака, а в точке Q.—заяц. Расстояние от Р до Q равно 100 м
Заяц бежит вдоль прямой L, образующей угол 45° с отрезком РQ, с постоянной скоростью 5 м/с. Собака бежит все время в направлении зайца со скоростью 10 м/с. Найти траекторию движения собаки в течение 10 с. Для приближенного решения предлагается заменить кривую ломаной линией. Считается, что в первую секунду заяц обегает отрезок QQ', собака — РР', во вторую секунду заяц пробегает отрезок Q'Q" и т. д.; собака принимает решение о направлении погони ровно один раз в секунду
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
hiv
сообщение 2.06.2005 14:38
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

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


Вот здесь видел.


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 2.06.2005 16:06
Сообщение #3


Гость






{$n+}
uses graph;

const
dT = 1;
Vz = 5;
Vs = 10;

type
TPoint = record
X, Y: double;
end;

procedure ShowPoint(P: TPoint; color: integer);
begin
setcolor(color);
Circle(Trunc(P.X), Trunc(P.Y), 2);
end;

var
Pz, Ps: TPoint;

var
dx, dy, r: double;
gd, gm: integer;
i: integer;

begin
gd := detect;
initgraph(gd, gm, '');
if graphresult <> grok then begin
writeln('Error...'); halt(100)
end;

Pz.X := 0; Pz.Y := GetMaxY;
Ps.X := 400; Ps.Y := GetMaxY;

for i := 1 to 30 do begin
Pz.X := Pz.X + (Vz * dT * sin(45*Pi/180));
Pz.Y := Pz.Y - (Vz * dT * sin(45*Pi/180));
ShowPoint(Pz, white);

dx := Pz.X - Ps.X;
dy := Pz.Y - Ps.Y;
r := sqrt(sqr(dx)+sqr(dy));

Ps.X := Ps.X + dx * Vs * dT / r;
Ps.Y := Ps.Y + dy * Vs * dT / r;
ShowPoint(Ps, red);
end;
readln;

closegraph;

end.

Чего не понятно - спрашивай :yes:
 К началу страницы 
+ Ответить 
MSDDV
сообщение 3.06.2005 6:42
Сообщение #4


Новичок
*

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

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


вроде замысел понят, но нужен вывод на экран ломаной линии траектории
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Digitalator
сообщение 3.06.2005 20:42
Сообщение #5


Бывалый
***

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

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


Вот смотри прогу, все входные данные содержаться в const, подогнать под твои условия будет не сложно :yes:


Прикрепленные файлы
Прикрепленный файл  dog_vs_rabbit.pas ( 4.15 килобайт ) Кол-во скачиваний: 250


--------------------
In byte we trust
ICQ World.ru
mail[dog]digitalator[dot]com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
MSDDV
сообщение 11.06.2005 12:07
Сообщение #6


Новичок
*

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

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


Блин подогнал код Digitalator, но препод сказал :nono: сделать попроще,
я тут начал, но не могу понять, как вывести ломаную траектории пути собаки blink.gif
вот, что я наделал :low:

Program Z_774;

Uses graph,
crt;
Const
shz = 50;
shs = 100;

Var
gd, gm: integer;
i: integer;

Begin
gd := detect;
initgraph(gd, gm, 'D:\bp\bgi');

if graphresult <> grok
then
begin
writeln('Error...'); halt(100)
end;


{Line (50,250,50,370);
Line (50,370,300,370);}
SetColor (white);
OutTextXY (10,242, 'Старт собаки');
Circle (20,258,2);
SetColor (yellow);
OutTextXY (130,385, 'Старт зайца');
Circle (132,370,2);


SetColor (Green);
Line (20,258,132,370);
ReadLn;

while i <> 10 do
begin
i := i + 1;
Circle (132+shz*i,370,2);
Line (132,370,132+shz*i,370);
ReadLn;
end;
closegraph;

End.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 11.06.2005 12:30
Сообщение #7


Гость






Ну неужели было ТАК сложно поменять несколько строк в моей программе, чтобы вывод был такой, как тебе нужно (ломаная линия траектории), а не такой как у меня (точечный вывод траектории) ??? Прикрепленный файл  SOBAKA.PAS ( 1.01 килобайт ) Кол-во скачиваний: 428


Добавляй свои "Старт зайца" (в левом нижнем углу экрана) и "Старт собаки" (в середине внизу экрана), и проверяй...
 К началу страницы 
+ Ответить 
MSDDV
сообщение 11.06.2005 16:20
Сообщение #8


Новичок
*

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

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


Траектория зайца должна быть вдоль оси OX, а в твоей программе траектория зайца под углом. В моей задаче вывод траектории должен быть посекундный, то есть, например, при нажатии enter происходит вывод на экран одну часть траектории зайца и собаки и делает отметку на траектории, в моём случае кружок. Всего этот процесс состоит из 10 таких кусков, то есть при таких условиях задачи собака догоняет зайца за 10 секунд, а значит ломаная будет состоять из 10 прямых. Вот что мне нужно. :yes:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 11.06.2005 16:35
Сообщение #9


Гость






Цитата
Траектория зайца должна быть вдоль оси OX, а в твоей программе траектория зайца под углом. В моей задаче вывод траектории должен быть посекундный, то есть, например, при нажатии enter происходит вывод на экран одну часть траектории зайца и собаки и делает отметку на траектории, в моём случае кружок. Всего этот процесс состоит из 10 таких кусков, то есть при таких условиях задачи собака догоняет зайца за 10 секунд, а значит ломаная будет состоять из 10 прямых. Вот что мне нужно.
Так вот если ЭТО тебе нужно, то почему обо ВСЕМ ЭТОМ нет ни слова в первоначальном задании??? angry.gif Телепатов ищещь?
 К началу страницы 
+ Ответить 
MSDDV
сообщение 11.06.2005 17:39
Сообщение #10


Новичок
*

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

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


Просто эти изменения дал мне препод только сегодня, после того, как я ему показал код :low: Digitalator'a
Прощу прощения за свой поступок и вправду убил всем столько времени
:molitva: сорри :molitva:

Сообщение отредактировано: MSDDV - 12.06.2005 19:48
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
MSDDV
сообщение 12.06.2005 19:48
Сообщение #11


Новичок
*

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

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


Volvo если не трудно до доделай пожалуйста :molitva: задачу по моему коду
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
MSDDV
сообщение 13.06.2005 12:46
Сообщение #12


Новичок
*

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

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


Хелп завтра сдача
Прошу помощи :molitva:

Сообщение отредактировано: MSDDV - 13.06.2005 17:32
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
MSDDV
сообщение 13.06.2005 21:17
Сообщение #13


Новичок
*

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

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


А-А-А-А :o до сдачи семь Часов!!!!
Help me Please
:molitva: :molitva:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
MSDDV
сообщение 13.06.2005 22:45
Сообщение #14


Новичок
*

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

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


Пожалуйста кто-нибудь помогите доделать задачу по моему коду
Program Z_774


До сдачи 5 часов
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lina
сообщение 2.06.2008 17:21
Сообщение #15





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

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


А нет ни у кого этой задачи решённой с последним условием:
Цитата
Траектория зайца должна быть вдоль оси OX, а в твоей программе траектория зайца под углом. В моей задаче вывод траектории должен быть посекундный, то есть, например, при нажатии enter происходит вывод на экран одну часть траектории зайца и собаки и делает отметку на траектории, в моём случае кружок. Всего этот процесс состоит из 10 таких кусков, то есть при таких условиях задачи собака догоняет зайца за 10 секунд, а значит ломаная будет состоять из 10 прямых. Вот что мне нужно.

?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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