Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2011, 16:07   #1
Prodote_Privet
 
Регистрация: 19.09.2011
Сообщений: 5
По умолчанию Задача на движение

Буду очень благодарен за помощь с задачей.

От железнодорожной станции по направлению к дачному посёлку,расстояние до которого S метров , движется пешеход со скоростью Vч км/ч. Одновременно с ним, в том же направлении бежит собака со скоростью Vс км/ч. Поскольку собака бежит быстрее,то,она разворачивается и бежит к человеку, а от него обратно к дому...(и так по циклу туда сюда пока человек не дойдёт до дома)

Нужно на паскале определить, какой суммарный путь пробежит собака за время,пока человек дойдёт до дома.
Prodote_Privet вне форума Ответить с цитированием
Старый 07.10.2011, 16:22   #2
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

а при чём тут циклы?
человек проходит путь S со скоростью Vч км/ч за время S/Vч
собака в это всё время бегает туда сюда без передышки со скоростью Vс.
Соотвественно её путь равен времени пока человек не пройдёт домой умноженное на скорость собачины.
на паскале:
Код:
program project1;
vs,vch,S : double;
begin
 writeln('S до дома');read(S);
 writeln('V человека км/час');read(vch);
 writeln('V собаки км/час');read(vs);
 
 writeln('собака пробежит суммарное расстояние', Vs*S/Vch);
end.
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 07.10.2011, 16:26   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

1. решите задачу на листочке
2. выпишите формулу
3. закодируйте их
4. профит!
p51x вне форума Ответить с цитированием
Старый 07.10.2011, 16:28   #4
unbanned
Форумчанин
 
Аватар для unbanned
 
Регистрация: 23.11.2010
Сообщений: 530
По умолчанию

эмм... если я не ошибаюсь то задача простая
найти время за которое человек дойдет до дома... это будет время в течение которого бегала собака. т.к. есть скорость собаки (постоянная) можно найти расстояние которое она пробежала...
S/Vч=T
T*Vc=Sc
unbanned вне форума Ответить с цитированием
Старый 07.10.2011, 16:38   #5
Prodote_Privet
 
Регистрация: 19.09.2011
Сообщений: 5
По умолчанию

может быть я чего то недопонял
но цитирую как написанно в задании
"исследовать процесс движения двух обьектов:человека и собаки. Установить связь между расстояниями,пройденными объектами за одно и то же время.определить, какой суммарный путь пробежит собака за время,пока человек дойдёт до дома."
знаю стопроцентно что в программе нужен цикл
Prodote_Privet вне форума Ответить с цитированием
Старый 07.10.2011, 16:40   #6
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

тут может быть два решения:
1) Как в физике: смотрим пост №2
2) Как в математике: путь собаки - это как сумма сходящегося ряда отрезков пути, а его как раз церез цикл считают.
и в итоге он должен будет получить приближённый ответ, как в 1) случае.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 07.10.2011, 16:58   #7
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

NetSpace, решения Вашего варианта 2:
Код:
program Project1;
var vs,vch,So : double;
    Ssob,t,S  : double;
begin
 writeln('S до дома');read(So);
 writeln('V человека км/час');read(vch);
 writeln('V собаки км/час');read(vs);
 if vs<vch then
 begin
  writeln('Пробежит ',vs*S/Vch,' км. и прийдёт домой после человека');
  exit;
 end else
 if vs=vch then
 begin
  writeln('Пробежит ',S,' км.');
  exit;
 end;
 Ssob := 0;
 S    := So;
 repeat
  Ssob := Ssob+S;
  S    := S-S*vch/Vs;
  WriteLn('Собака вдома. Осталось ',S:6:3,' км.');
  t    := S/(Vs+vch);
  Ssob := Ssob+Vs*t;
  S    := S-Vch*t;

  WriteLn('Собака вернулась. Осталось ',S:6:3,' км.');
 until S<0.001;

 writeln('===============');
 writeln('собака пробежит суммарное расстояние ', Ssob:6:3);
end.
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Движение со скоростью света и быстрее скорости света - Сверхсветовое движение Alar Свободное общение 354 13.11.2011 21:32
Движение dampirik Общие вопросы C/C++ 15 10.10.2009 18:47
Задача в Delphi(движение за мышкой) Angelly Помощь студентам 5 22.09.2009 13:12
движение alex(21) Паскаль, Turbo Pascal, PascalABC.NET 9 20.08.2009 00:08
Движение Mickle Общие вопросы Delphi 5 19.04.2007 23:24