VirtualIreland.ru - Виртуальная Ирландия
Вернуться   VirtualIreland.ru - Виртуальная Ирландия > Все об Ирландии > Общие темы

Общие темы Обо всем, что касается Ирландии и жизни здесь.

Ответ
 
Опции темы Опции просмотра
Старый 09.10.2003, 15:51   #1
Участник
 
Сообщений: 53
Благодарности: 1/1 Поиск благодарностей Наталия
По умолчанию Задачка про собачку

Из пункта А в одном направлении двигаются Мальчик со скоростью 7 км/ч и Девочка со скоростью 5км/ч,
между ними постоянно бегает Собачка со скоростью 11 км/ч.
Определить расстояние от п.А до собачки по прошествии 2 часов?
Наталия вне форума   Ответить с цитированием

Зарегистрируйтесь или войдите под своим именем, чтобы спрятать этот рекламный блок
Старый 09.10.2003, 15:59   #2
Заслуженный Участник
 
Аватар для AVK
 
Откуда: St.Petersburg
Сообщений: 2,624
Благодарности: 367 в 196 сообщениях Поиск благодарностей AVK
Отправить сообщение для  AVK с помощью ICQ
По умолчанию

Это задачка из задачника Сахарова, там и решение есть, кажется. На самом деле, простая задачка, если подумать . Во всяком случае, что-то вполне аналогичное у Сахарова разобрано.
__________________
"И чё я делаю неправильно?" (с) Я, любимый
WBR, =Alexander
AVK вне форума   Ответить с цитированием
Старый 09.10.2003, 16:02   #3
Заслуженный Участник
 
Сообщений: 3,617
Благодарности: 752 в 276 сообщениях Поиск благодарностей SPDAY
По умолчанию

Цитата:
Сообщение от AVK
Это задачка из задачника Сахарова, там и решение есть, кажется. На самом деле, простая задачка, если подумать . Во всяком случае, что-то вполне аналогичное у Сахарова разобрано.
Подумай, Ляксандра, подумай ...
SPDAY вне форума   Ответить с цитированием
Старый 09.10.2003, 16:10   #4
Заслуженный Участник
 
Сообщений: 3,617
Благодарности: 752 в 276 сообщениях Поиск благодарностей SPDAY
По умолчанию

>= 10, если псина не сдохнет от челночного беганья туды-сюды
SPDAY вне форума   Ответить с цитированием
Старый 09.10.2003, 16:12   #5
My name is Exaybachay
 
Аватар для KaraNagai
 
Откуда: Дублин, Ирландия
Сообщений: 21,481
Благодарности: 12,152 в 4,948 сообщениях Поиск благодарностей KaraNagai
По умолчанию

я могу ошибаться, но задача решения не имеет, так как неизвестно в какие моменты времени относительно друг друга дети вышли, а собачка, соотвественно, выбежала из пункта.
KaraNagai вне форума   Ответить с цитированием
Старый 09.10.2003, 16:17   #6
Заслуженный Участник
 
Сообщений: 3,617
Благодарности: 752 в 276 сообщениях Поиск благодарностей SPDAY
По умолчанию

Цитата:
Сообщение от KaraNagai
я могу ошибаться, но задача решения не имеет, так как неизвестно в какие моменты времени относительно друг друга дети вышли, а собачка, соотвественно, выбежала из пункта.
Усе известно : детки поругались, пацан сваливать начал, девчонка - за ним, а псина между ними мечется, перживаеть значитца.
SPDAY вне форума   Ответить с цитированием
Старый 09.10.2003, 16:35   #7
Заслуженный Участник
 
Аватар для AVK
 
Откуда: St.Petersburg
Сообщений: 2,624
Благодарности: 367 в 196 сообщениях Поиск благодарностей AVK
Отправить сообщение для  AVK с помощью ICQ
По умолчанию

Цитата:
Сообщение от KaraNagai
я могу ошибаться, но задача решения не имеет, так как неизвестно в какие моменты времени относительно друг друга дети вышли, а собачка, соотвественно, выбежала из пункта.
Это правда, можно рассуждать так, например: перейдем в систему координат, связанную с девочкой. Тогда мальчик движется по закону x=2t (x - расстояние между ними, t - время). Собачка же движется по ломаной между осью абсцисс и этой прямой, от девочки она бежит с относительной скоростью 6 км/ч, к ней -- 16. Представим себе, что в момент t0 собачка находится у девочки, тогда в t1=8/9t0 она у мальчика, в t2=2/3t1 -- опять у девочки, ну и так далее. Следовательно, каким бы ни было t0, в момент t=0 собачка всё едино находится в пункте A. Сиречь, t0 -- произвольно, и собачка через два часа размазана на интервале от 10 до 14 км от пункта А.

Но что-то мне подсказывает, что я тут могу ошибаться без проблем: возможно, мы вообще неправильно понимаем задачку.
__________________
"И чё я делаю неправильно?" (с) Я, любимый
WBR, =Alexander
AVK вне форума   Ответить с цитированием
Старый 09.10.2003, 16:53   #8
My name is Exaybachay
 
Аватар для KaraNagai
 
Откуда: Дублин, Ирландия
Сообщений: 21,481
Благодарности: 12,152 в 4,948 сообщениях Поиск благодарностей KaraNagai
По умолчанию

> x=2t

не зная времен выхода, можно лишь утверждать, что x = 2t+d, где d - неизвестная константа.
KaraNagai вне форума   Ответить с цитированием
Старый 09.10.2003, 17:01   #9
Заслуженный Участник
 
Аватар для AVK
 
Откуда: St.Petersburg
Сообщений: 2,624
Благодарности: 367 в 196 сообщениях Поиск благодарностей AVK
Отправить сообщение для  AVK с помощью ICQ
По умолчанию

Кара, времена выхода все одинаковые. Это Сахаровская задачка, и:

1. Она плохо сформулирована;
2. Я понял, как ее решать. Счас решу. Форму только очередную денежную заполню
__________________
"И чё я делаю неправильно?" (с) Я, любимый
WBR, =Alexander
AVK вне форума   Ответить с цитированием
Старый 09.10.2003, 17:09   #10
Заслуженный Участник
 
Сообщений: 3,617
Благодарности: 752 в 276 сообщениях Поиск благодарностей SPDAY
По умолчанию

Цитата:
Сообщение от KaraNagai
> x=2t

не зная времен выхода, можно лишь утверждать, что x = 2t+d, где d - неизвестная константа.
Если х - искомое пастояние псины от А , то ты кара нэправ.
SPDAY вне форума   Ответить с цитированием
Старый 09.10.2003, 17:09   #11
My name is Exaybachay
 
Аватар для KaraNagai
 
Откуда: Дублин, Ирландия
Сообщений: 21,481
Благодарности: 12,152 в 4,948 сообщениях Поиск благодарностей KaraNagai
По умолчанию

я подобную видел, но там по-моему что-то металось между идущими навстречу друг другу и требовалось узнать какой путь оно прометается, пока они не встретятся ;)
KaraNagai вне форума   Ответить с цитированием
Старый 09.10.2003, 17:53   #12
Заслуженный Участник
 
Аватар для pasha
 
Сообщений: 1,235
Благодарности: 55 в 39 сообщениях Поиск благодарностей pasha
По умолчанию

Код:
int main(int argc, char* argv[])
{
	double dV = 3.06;
	double bV = 1.94;
	double gV = 1.39;
	double gS=0,bS=0,dS=0;

	for(int t = 0, s = 1; t < (3600*2); t++)
	{
		gS += gV; bS += bV;	
		if (dS > bS) s = -1;
		if (dS < gS) s = 1;
		dS += (s) * dV;		
	}
	printf("Hello dog: %f\n", dS);
	return 0;
}
{изменено нексусом: граждане программисты, используйте псевдо-тэг code 8)}

приблизительно 12705 метра и 12 сантиметров
pasha вне форума   Ответить с цитированием
Старый 09.10.2003, 21:33   #13
My name is Exaybachay
 
Аватар для KaraNagai
 
Откуда: Дублин, Ирландия
Сообщений: 21,481
Благодарности: 12,152 в 4,948 сообщениях Поиск благодарностей KaraNagai
По умолчанию

"ох уж мне эти программисты с их императивным мышлением" - сказал бы я себе, если бы был не программистом ;)

а именно:

производим легкую модификацию:

void sobachka(int steps) {
double dV = 3.06/steps;
double bV = 1.94/steps;
double gV = 1.39/steps;
double gS=0,bS=0,dS=0;

for(int t = 0, s = 1; t < (3600*2*steps); t++)
{
gS += gV; bS += bV;
if (dS > bS) s = -1;
if (dS < gS) s = 1;
dS += (s) * dV;
}
printf("Hello dog: %f\n", dS);
}

вызываем:

sobachka(1);
sobachka(10);
sobachka(100);

имеем:

12705.12
11757.744
13936.9536

хехе так что паша ты подумай, эт ты в пользу точного решения или все же в пользу теории квантовомеханической размазанности собачки ровным слоем между нашей парочкой? ;))

я бы все же был скромнее и сказал: в подверждение некорректности подобного решения ;)

---

хехе "а не слишком ли быстро я бегу - подумал мальчик" ;))
KaraNagai вне форума   Ответить с цитированием

Зарегистрируйтесь или войдите под своим именем, чтобы спрятать этот рекламный блок
Старый 09.10.2003, 21:41   #14
My name is Exaybachay
 
Аватар для KaraNagai
 
Откуда: Дублин, Ирландия
Сообщений: 21,481
Благодарности: 12,152 в 4,948 сообщениях Поиск благодарностей KaraNagai
По умолчанию

да, кстати, для еще желающих решить задачку, даю наводку (на водку не даю ;) : по-моему мнению собачка за любой промежуток времени от 0 до какого-то t пробегает бесконечное количество раз между барашней и чиста пацаном ;) при этом пробегая конечное расстояние. мне так каацца.
KaraNagai вне форума   Ответить с цитированием
Старый 10.10.2003, 04:57   #15
Участник
 
Сообщений: 53
Благодарности: 1/1 Поиск благодарностей Наталия
По умолчанию ...

Комментарии супруга к этой задачке:
1) Решаем с конца, тогда получается что собачка может быть в любом месте между мальчиком и девочкой.

2)Сдвигаем мальчика на расстояние Х от пункта А. Тогда задача должна иметь аналитическое решение. Берём предел при Х->0. Если этот предел сходится, можно получить точное положение собачки через 2 часа. Если нет - бедная псина "размазана" между 10 и 14 километрами.
3) Прикол в том, что если менять PRECISION то решение меняется.

void task()
{
//double PRECISION = 1.0;
//double PRECISION = 10.0;
//double PRECISION = 100.0;
//double PRECISION = 1000.0;
//double PRECISION = 10000.0;
double PRECISION = 100000.0;

double speedBoy = (7 * 1000.0) / 3600.0 / PRECISION;
double speedGirl = (5 * 1000.0) / 3600.0 / PRECISION;
double speedDog = (11 * 1000.0) / 3600.0 / PRECISION;
double distanceBoy = 0.0, distanceGirl = 0.0, distanceDog = 0.0;
bool bDirection = true; // true - to boy, false - to girl
unsigned long lChangeDirection = 0;
double dTime = 7200.0 * PRECISION;

for (double i = 1; i <= dTime; ++i)
{
distanceBoy += speedBoy;
distanceGirl += speedGirl;

if (bDirection)
{
distanceDog += speedDog;
if (distanceDog >= distanceBoy)
{
bDirection = false;
lChangeDirection++;
}
}
else
{
distanceDog -= speedDog;
if (distanceDog <= distanceGirl)
{
bDirection = true;
lChangeDirection++;
}
}

}
cout << "boy = " << distanceBoy << endl;
cout << "girl = " << distanceGirl << endl;
cout << "dog = " << distanceDog << endl;
cout << "lChangeDirection = " << lChangeDirection << endl;
}
Наталия вне форума   Ответить с цитированием
Ответ



Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать на сообщения
Вы не можете добавлять вложения
Вы не можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT, времени сейчас: 21:55.


vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd., Русификация: zCarot, Vovan & Co
©2003-2025 VirtualIreland.ru - Виртуальная Ирландия