Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];

Вниз

Пятничные задачки. Повтор нерешенного, и кое-что новое...   Найти похожие ветки 

 
MBo ©   (2005-11-03 10:20) [0]

1. Когда самолет пролетает со скоростью V на высоте H прямо
над ракетной установкой, запускается ракета со скоростью U>V,
оборудованная системой наведения, так что ракета все время
выдерживает направление на самолет. Курс самолета не меняется.
Какое время потребуется для поражения цели?

2. Отсортировать стек (например, TStack из Contnrs), содержащий целые числа.
Можно использовать только штатные стековые операции - Push,Pop, Peek,
проверку на пустоту, т.е. не манипулировать внутренним списком напрямую.
Можно использовать дополнительные стеки, но никаких других структур данных.

3. Посчитать количество структурных изомеров алканов (предельных углеводородов СnH(2n+2))
в зависимости от N. Стереоизомеры не учитываются.
Примеры: N=4 (бутан) M=2;  N=8 (октан) M=18

4. Миллион водомерок разбежались из одной точки на берегу реки в различных
направлениях, с постоянной скоростью V (вектор) относительно воды.
Скорость течения u линейно растет с расстоянием х от берега: u=k*x.
Какую геометрическую фигуру будут образовывать водомерки в
некоторый момент времени t?

5. Сумма цифр десятичной записи числа 4444^4444 равна A.
Сумма цифр числа А равна B. Найти сумму цифр числа B.

6. Правильный тетраэдр со стороной в 1 метр находится в подвешенном состоянии.
Hа одну из его вершин села муха точечных размеров и поползла по прямой
по грани (не ребру) тетраэдра. С грани на грань муха переползает так, что на
развертке тетраэдра ее путь оставался бы прямолинейным. Преодолев расстояние
в целое число метров, не превосходящее десяти, муха вновь оказалась в вершине.
Сколько метров проползла муха и сколько раз побывала при этом на грани, с
которой начала движение?

7. На автобусном маршруте 14 остановок, 91 вариант билетов в зависимости от
нач. и крнечной остановки пассажира. Пассажиры входят и выходят, но одновременно
едет не более 25 человек. Какое максимальное количество сортов билетов может быть
выдано кондуктором за рейс в одну сторону?

8. Поезд проходит мимо столба за время t1, а по мосту длиной L за время t2.
(от въезда локомотива до схода последнего вагона)
Найти длину и скорость поезда

9. Натуральные числа выписаны подряд в одну строку 12345678910111213...
Найти цифру на n-м месте.


 
VICTOR_   (2005-11-03 10:42) [1]

сегодня же четверг :(


 
КаПиБаРа ©   (2005-11-03 10:50) [2]

8)
V=(t2-t1)/L
l=V*t1,

где V - скорость поезда
l - длина поезда


 
novice   (2005-11-03 11:03) [3]

8)
Скорость V=L/(t2-t1)
Длина a=L*t1/(t2-t1)


 
wal ©   (2005-11-03 11:16) [4]

2.
Сделаем три стека:
S1 - Исходный
S2 - Рабочий (вначале пустой)
S3 - Отстойник (вначале пустой)
A, B, C - переменная типа данных в стеке
Flag - булева переменная
B := минимально возможное значение
while (S1 не пуст) do
begin
 Pop(S1, A)
 if A >= B then // Если больше, чем вершина рабочего стека
 begin
   Push(S2, A); // кладем в рабочий стек,
   B := A;  // запоминаем новую вершину рабочего стека
 end else
 begin
   Push(S3, A)  // иначе кладем в отстойник
 end;
end;
// после первого цикла в рабочем стеке имеем отсортированные данные, но не все.
while (S3 не пуст) do
begin
 Pop(S3, B);
 Flag := True;
 Pop(S2, C);
 Push(S1, C);
 while (S2 не пуст) do
 begin
   Pop(S2, A);
   if Flag and (B >= Min(A,C)) and (B<=Max(A,C)) then // если B между A и C
   begin
     Push(S1, B); // то втыкаем B в стек;
     Flag:= False
   end;
 end;
 Swap (S1, S2) // меняем местами указатели на рабочий и исходный стек.
end;
// После этого данные в S2 отсортированы, S1 и S3 - пустые

Такой вот оп-код. Возможны ошибки, но идея, думаю, понятна. Уже вижу варианты оптимизации, но описать внятно пока не могу.

С уважением.


 
Igorek ©   (2005-11-03 11:17) [5]

2. В лоб.
- завести еще два стека, перелить из исходного в первый

потом повторять процедуру пока есть элементы:
- перелить из первого во второй, запомнив макс.
- добавить макс. в исходный
- перелить из второго обратно в первый (_один_ раз отбросив значение, равное макс.)


 
wal ©   (2005-11-03 11:23) [6]


>    if Flag and (B >= Min(A,C)) and (B<=Max(A,C)) then // если B между A и C
>    begin
>      Push(S1, B); // то втыкаем B в стек;
>      Flag:= False
>    end;
После этого забыл вставить
 Push (S1, A);


 
default ©   (2005-11-03 11:36) [7]

5. я решал...


 
default ©   (2005-11-03 11:45) [8]

9. то что бросается сразу - цикл
   если число однозначное - то увеличиваем счётчик позиций на 1
   если число двузначное - то увеличиваем счётчик позиций на 2
   и тд
   когда поняли что дошли до нужной позиции выделяем число из нужного  
   разряда


 
DiamondShark ©   (2005-11-03 11:51) [9]


> 2.

Ханойские башни ;)


 
Sandman29 ©   (2005-11-03 12:21) [10]

7. 66 = (13)+(6+6)+(4+4+3)+(3+3+2+2)+(2+2+2+2+2)+10


 
Карелин Артем ©   (2005-11-03 12:26) [11]

1. Возможны варианты. Тупая ракета по тупой кривой, умная полетит по более оптимальному пути.


 
Jeer ©   (2005-11-03 12:35) [12]

Карелин Артем ©   (03.11.05 12:26) [11]

См.
"так что ракета все время
выдерживает направление на самолет"

Классическая задача из теории дифференциальных игр.
Принцип максимума Понтрягина для решения оптимизационных задач.


 
MBo ©   (2005-11-03 12:50) [13]

1.
>Jeer ©   (03.11.05 12:35) [12]
>Принцип максимума Понтрягина для решения оптимизационных задач.

Тем не менее можно решить и методами, доступными продвинутому старшекласснику.

8.
КаПиБаРа ©   (03.11.05 10:50) [2]
novice   (03.11.05 11:03) [3]

Да, конечно. Что-то я совсем примитивную написал...

>Sandman29 ©   (03.11.05 12:21) [10]
>7. 66 = (13)+(6+6)+(4+4+3)+(3+3+2+2)+(2+2+2+2+2)+10
Чуть ошибся где-то


 
Jeer ©   (2005-11-03 12:51) [14]

MBo ©   (03.11.05 12:50) [13]

Конешна:))


 
Sandman29 ©   (2005-11-03 12:59) [15]

MBo ©   (03.11.05 12:50) [13]

Возможно. Нудноватая задача - идея сразу понятна, а перебирать много.


 
default ©   (2005-11-03 13:04) [16]

7. 67?


 
default ©   (2005-11-03 13:08) [17]

7. хотя способ решения у меня другой..
одним местом можно перебрать 13 билетов
двумя местами - 12 билетов
....
6 местами - 8 билетов
13+12+11+10+9+8=63
1+2+3+4+5+6=21 - столько мест займёт перебор 63 билетов в ходе рейса
остаётся 25-21=4 итого 63+4=67


 
default ©   (2005-11-03 13:13) [18]

7. хотя способ решения у меня другой..
одним местом можно перебрать 13 билетов(билеты выхода на следующей остановке)
двумя местами - 12 билетов(выхода через одну остановку)
....
6 местами - 8 билетов
13+12+11+10+9+8=63
1+2+3+4+5+6=21 - столько мест займёт перебор 63 билетов в ходе рейса
остаётся 25-21=4 итого 63+4=67


 
MBo ©   (2005-11-03 13:14) [19]

default ©   (03.11.05 13:04) [16]
7. 67?

Да.


 
default ©   (2005-11-03 13:34) [20]

5. 7 (нагло списал свой результат из старой ветки по пятничным задачкам;))


 
MBo ©   (2005-11-03 13:40) [21]

>default ©   (03.11.05 13:34) [20]
Да уж дал бы подумать тем, кто еще не решал ;)

default ©   (03.11.05 11:45) [8]
9. то что бросается сразу - цикл

это прямой перебор, неэффективно, конечно...

>wal ©   (03.11.05 11:16) [4]
Честно говоря, пока не уловил.
Сам я делал примерно, как Igorek ©   (03.11.05 11:17) [5], но это достаточно долгий процесс.


 
Igorek ©   (2005-11-03 13:42) [22]

2. Пузырьковая сортировка. Создаем еще один массив. Переливаем между ним и исходным данные, меняя местами значения в вершинах. Останавливаемся, когда при переливе не было ни одного обмена.


 
Igorek ©   (2005-11-03 13:44) [23]


> Создаем еще один массив

стек, сорри


 
default ©   (2005-11-03 13:53) [24]

MBo ©   (03.11.05 13:40) [21]
ну я же решение не дал, только результат


 
ЯВ   (2005-11-03 13:53) [25]

1.
Думаю что:
t=sqr (a1\a2) ult
a1 = h^2
a2 = (U^2 - V^2)


 
MBo ©   (2005-11-03 14:26) [26]

>ЯВ   (03.11.05 13:53) [25]
Я не понял, что такое ult, но все равно неверно.


 
Jeer ©   (2005-11-03 14:46) [27]

U/t - видимо.


 
Igorek ©   (2005-11-03 15:00) [28]

2. Быстрая сортировка. Процедура создает два стека, делает один перелив для выбора медианы (по среднему значению или просто пополам), вызывает сама себя для этих двух стеков, перед возвратом снова сливает в исходный сначала первый стек, потом второй.


 
wal ©   (2005-11-03 15:12) [29]


> >wal ©   (03.11.05 11:16) [4]
> Честно говоря, пока не уловил.
На пальцах:
1. Считываем с исходного, кладем в рабочий;
2. Считываем с исходного, если больше-равно, чем вершина рабочего, кладем в рабочий, иначе кладем в отстойник.
3. Повторям 2 пока исходный не кончился.
-- Это был первый цикл
4. Считываем из рабочего.
5. Если вершина отстойника находится между вершинами рабочего и исходного, то считываем из отстойника, кладем в исходный.
6. Кладем считанный из рабочего в исходный.
7. Повторяем 4 пока рабочий не кончился.
8. Меняем местами рабочий и исходный.
9. Повторяем 4 пока не кончился отстойник.

Еще проще (но уже оптимизировано) - переливаем из исходного в рабочий и обратно, на каждом шаге проверяем - можно ли туда воткнуть из отстойника, если можно, втыкаем. Отстойник заполняется при первом переливании, если нельзя поместить в рабочий.

С уважением.


 
ЯВ   (2005-11-03 15:22) [30]


> Я не понял, что такое ult, но все равно неверно.

ult = где
:)

а чё не верно - я пошел простым путем - приблизил траекторию полета самлета и ракеты к треугольнику и счтал по Пифагору где катет Vt = S путь (она же длина) и гипотенуза ракета (Ut = S ракеты)


 
Карелин Артем ©   (2005-11-03 15:49) [31]


> ЯВ   (03.11.05 15:22) [30]

По кривой


 
default ©   (2005-11-03 16:31) [32]

9. ответом служит формула или есть всё-таки цикл?
вот бы из уравнения (10^g)*(9g-1)=9n-1 выразить g тогда бы можно формулу составить


 
MBo ©   (2005-11-03 17:35) [33]

>default ©   (03.11.05 16:31) [32]
Я 9. решал несколько лет назад. За O(logN) точно можно решить, а можно ли быстрее - уже не помню.


 
default ©   (2005-11-03 17:50) [34]

MBo ©   (03.11.05 17:35) [33]
вычитать последовательно по 9*1; 90*2; 900*3; 9000*4 ...
это?


 
wp2 ©   (2005-11-04 00:25) [35]


> Пятничные задачки. Повтор нерешенного, и кое-что новое...

слышь мужик, попей пивку, ляг, поспи и всё пройдёт...
Мозги нам колышешь...


 
umbra ©   (2005-11-04 10:09) [36]

1.

Будем отсчитывать время от момента прохождения самолета над пусковой установкой.
Возьмем систему координат, начало отсчета которой совпадает с самолетом, а ось Х в момент времени 0 проходит через ракету. В момент 0 в выбранной системе координат ракета находится на расстоянии Н от начала координат и имеет скорость U - V. Далее, согласно условию, ракета движется вдоль оси Х с постоянной скоростью. Таким образом, она попадет в начало координат через время t = H/(U - V)


 
MBo ©   (2005-11-04 13:20) [37]

>default ©   (03.11.05 17:50) [34]
Да, можно так.

>umbra ©   (04.11.05 10:09) [36]
Здравое зерно есть, но  фраза " и имеет скорость U - V " - неверна, как и дальнейшее.


 
MBo ©   (2005-11-04 13:20) [38]

>default ©   (03.11.05 17:50) [34]
Да, можно так.

>umbra ©   (04.11.05 10:09) [36]
Здравое зерно есть, но  фраза " и имеет скорость U - V " - неверна, как и дальнейшее.


 
Bless ©   (2005-11-04 15:40) [39]

to MBo>

А разве 5-ая задачка не решена была в одну из пятниц? Я ж вроде видел ответ "7" и твой ответ на этот ответ "правильно". Или что-то путаю?

Кстате, если путаю, это хорошо. А то я ту ветку потерял, так и не спросив "как решал" :)


 
Anatoly Podgoretsky ©   (2005-11-04 15:53) [40]

Карелин Артем ©   (03.11.05 12:26) [11]
Умная не полетит. Так что это тоже тупая, еще более тупая, чем первая.


 
SergP.   (2005-11-04 17:28) [41]

А меня интересует как решается 3 ?

Думал над ней. Но так и ничего не придумал.


 
default ©   (2005-11-04 17:34) [42]

Bless ©   (04.11.05 15:40) [39]
сейчас расскажу как решал если хочешь


 
default ©   (2005-11-04 17:35) [43]

SergP.   (04.11.05 17:28) [41]
а я условие не просёк поэтому и не пытался...


 
dr. Jung   (2005-11-04 17:42) [44]

2 MBo ©   (04.11.05 13:20) [37]

модуль скорости ракеты не меняется?


 
default ©   (2005-11-04 17:50) [45]

dr. Jung   (04.11.05 17:42) [44]
нет
если бы она менялась и поскольку в условии не сказано как именно(если бы менялась), то задача была бы неразрешима, а поскольку мы считаем все задачи разрешимыми, то значит предположение неверно и ответ: НЕТ


 
cyborg ©   (2005-11-04 17:50) [46]

4. Полумесяц?


 
umbra ©   (2005-11-04 18:17) [47]

2 default ©   (04.11.05 17:50) [45]

восхищен Вашей логикой!!!


 
MBo ©   (2005-11-04 19:59) [48]

dr. Jung   (04.11.05 17:42) [44]
>модуль скорости ракеты не меняется?
Нет.

cyborg ©   (04.11.05 17:50) [46]
>4. Полумесяц?
нет

>Bless ©   (04.11.05 15:40) [39]
Да, уже была.

>SergP.   (04.11.05 17:28) [41]
>А меня интересует как решается 3 ?
>default ©   (04.11.05 17:35) [43]
>а я условие не просёк поэтому и не пытался...

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

Возможно, надо вкратце разъяснить, каким же образом эти изомеры подсчитываются вручную на примере октанов (8 атомов углерода С).
Строятся деревья, каждый узел которых может соединяться максимум с 4-мя другими узлами.

Линейная цепочка из 8 С- 1

7 атомов в линию и боковой отросток из 1 атома - 5 возможных положений, из которых 2 пары эквивалентных (например, 2-метилгептан и 6-метилгептан - одно и тоже)- так что 3 изомера

6 атомов в линию - 1 изомер с этилом (два атома С) + 6 изомеров с двумя метилами

5 атомов в линию - 2 изомера с этилом и метилом, и 4 изомера с тремя метилами

4 атома в линию - 1 изомер (с 4 метилами)

Итого 18 разных структурных формул.

Для большего числа атомов С скелетные деревья будут уже сложнее, например, для 9 С появятся изомеры с разветвленными боковыми отростками (изопропил)


 
default ©   (2005-11-04 21:10) [49]

Bless ©   (04.11.05 15:40) [39]
"А то я ту ветку потерял, так и не спросив "как решал" :)"
5.
предположим, что мы не в состоянии проводить трудоёмкие вычисления, чтобы ответить на вопрос задачи

известно, что сумма цифр числа имеет тот же остаток от деления на 9 что и само число, а поскольку сумма цифр неоднозначного(то есть не цифры) числа всегда меньше его самого, то за конечное число переходов от числа к числу равному сумме цифр первого мы придём к однозначному числу, то есть к цифре
(если этого не знал, докажи - это просто, но полезно, при доказательстве будет понятно, что таким свойством обладает каждая последняя цифра заданной системы счисления)

теперь знаем, что сумма цифр числа B имеет тот же остаток от деления на 9 что и здоровенное 4444^4444
если сумма цифр числа B неоднозначна, то узнав остаток от деления числа  4444^4444  на 9, мы не сможем сказать чему равна сумма цифр числа B, а поскольку мы подразумеваем возможность решения задачи без трудоёмких вычислений и положим ещё что узнать остаток от деления 4444^4444  на 9 мы можем при малых вычислительных трудностях, то понимаем что сумма цифр B должна быть цифрой и тогда она будет равна остатку от деления 4444^4444 на 9

теперь нужно получить остаток от деления 4444^4444 на 9 простым образом
остаток от деления 4444^1 на 9 равен 7;
остаток от деления 4444^2 на 9 равен(думаю, понятно, почему) остатку от деления 7*4444 на 9, этот остаток равен 4;
остаток от деления 4444^3 на 9 равен остатку от деления 4*4444 на 9=1;
[поскольку остаток от деления на 9 это число из множества {0,1,2,3,4,5,6,7,8}, то из этой процедуры ясно что максимум через 9 шагов мы получим состав периода остатков в периодической их последовательности]
выполняем шаги дальше
остаток от деления 4444^4 на 9 равен остатку от деления 1*4444 на 9=7;
итак цикл замкнулся, дальше всё будет повторять заново
получили последовательно остатков 741741741741...
теперь нужно выяснить остаток у 4444^4444
делим степень 4444 на длину периода=3 и получаем остаток 1
значит искомое число есть первая цифра в периоде - это семёрка


 
Profi ©   (2005-11-04 23:10) [50]

Ответ на первую задачу:
t=H/(U^2-V^2)^0.5


 
Profi ©   (2005-11-05 00:58) [51]

Profi ©   (04.11.05 23:10) [50]
Что самое интересное, у задачи есть второе решения, но если подставить параметры, то ответы равны!

t=(H/V)*tg(arcsin(V/U))


 
SergP ©   (2005-11-05 06:33) [52]


> Общей формулы для числа изомеров, кажется, не существует.


Если тут нужна не формула, а программа, то это немного проще...
Теперь у меня проблема остается с выявлением одинаковых изомеров


 
Antonn ©   (2005-11-05 07:00) [53]

MBo ©   (03.11.05 10:20)
4.

смотря в какой момент. Из полукруга в петлю, которая будет растягиваться по течению. вроде бы стремится в линию. если перебегут середину реки, будет галка.


 
MBo ©   (2005-11-05 08:07) [54]

Antonn
> если перебегут середину реки
Пусть ширина реки бесконечна

>Profi ©   (04.11.05 23:10) [50]
Нет.


 
Antonn ©   (2005-11-05 11:18) [55]

MBo ©   (05.11.05 8:07) [54]
Пусть ширина реки бесконечна

тогда

> Из полукруга в петлю, которая будет растягиваться по
> течению. вроде бы стремится в линию.


 
MBo ©   (2005-11-05 13:30) [56]

>Antonn ©   (05.11.05 11:18) [55]
Петля - довольно абстрактное понятие...


 
Antonn ©   (2005-11-05 15:44) [57]

MBo ©   (05.11.05 13:30) [56]
ну не знаю я, как называется такая геом.фигура, которая, к тому же, еще и изменяется:)
Вот, иллюстрация(надеюсь я правильно понял условие...):

type
 TEl = record
  angle:double;
  x,y:double;
 end;
 TMass = record
  _massiv:array[0..511] of Tel;
 end;

implementation

var Mass:TMass;

procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
for i:=0 to 511 do begin
mass._massiv[i].angle:=random(314)/100-pi/2;
mass._massiv[i].x:=dx;    
mass._massiv[i].y:=50;
end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var i:integer;
begin
for i:=0 to 511 do begin
mass._massiv[i].x:=mass._massiv[i].x+1*cos(mass._massiv[i].angle);
mass._massiv[i].y:=mass._massiv[i].y-1*sin(mass._massiv[i].angle)+((mass._massiv[i].x-dx)/4);
end;
canvas.Brush.Color:=clwhite;
canvas.FillRect(rect(0,0,width,height));
for i:=0 to 511 do begin
canvas.Ellipse(trunc(mass._massiv[i].x)-2,trunc(mass._massiv[i].y)-2,trunc(mass._massiv[i].x)+2,trunc(mass._massiv[i].y) +2);
end;
end;


 
Antonn ©   (2005-11-05 16:20) [58]

парабола?


 
Profi ©   (2005-11-05 16:22) [59]

MBo ©   (05.11.05 8:07) [54]
Могу привести свои решения. Просто когда двумя способами получаются одинаковые ответы, то либо задача не понята, либо они верны!


 
umbra ©   (2005-11-07 10:20) [60]

задача 1, дубль второй

Согласно условию, самолет, ракета и пусковая установка все время находятся в одной плоскости. Возьмем прямоугольную систему координат, в которой пусковая установка имеет координаты (0, 0), а ось Х совпадает с курсом самолета. Будем отсчитывать время с момента запуска ракеты. Время, прошедшее до поражения ракетой цели обозначим Т. Проекции скорости ракеты на оси X  и Y меняются со временем, но в любой момент сумма квадратов проекций скоростей равна квадрату модуля скорости, т.е U^2.

Поскольку за время Т самолет и ракета пролетели вдоль оси Х одинаковое расстояние, то их средние скорости вдоль оси Х за время Т равны. Значит средняя скорость ракеты вдоль оси Х за время Т равна V. Отсюда, средняя скорость ракеты вдоль оси Y Uycp = sqrt(U^2 - V^2). За время Т ракета пролетела вдоль оси Y расстояние H = Uycp*T. Откуда
T = H/sqrt(U^2 - V^2)


 
Jeer ©   (2005-11-07 13:07) [61]

1. T = V*H/(V^2-U^2)


 
MBo ©   (2005-11-07 14:52) [62]

>Jeer ©   (07.11.05 13:07) [61]
>1. T = V*H/(V^2-U^2)

Ты знал, ты знал ;)))


 
cyborg ©   (2005-11-07 14:58) [63]

4.
Бумеранг тогда получается, не считал я это дело, просто в уме представил :)


 
cyborg ©   (2005-11-07 15:02) [64]

не, неправильно :), просмотрел "из одной точки на берегу реки ", а я с центра думал, сейчас подумаю немного.


 
Jeer ©   (2005-11-07 15:03) [65]

MBo ©   (07.11.05 14:52) [62]

Я честно выждал много часов:)

Ну, а с другой стороны знание и конструирование систем наведения разных объектов на другие, конечно же позволяло быть в курсе и "примитивных" решений.


 
cyborg ©   (2005-11-07 15:05) [66]

треугольник получается, даже вроде равносторонний.


 
MBo ©   (2005-11-07 15:30) [67]

cyborg ©  
4.  
Неверно. Частный случай k=0, т.е. нет течения-  должна быть полуокружность.

Насчет 1 задачи с ракетой - можно решать так (что эквивалентно введению движущейся системы координат с неперпендикулярными осями):

Пусть X - расстояние по горизонтали между ракетой и самолетом, а R - расстояние между ними по прямой, Fi - угол между векторами скоростей.
производные по времени
X" = - (V*Cos(fi) -U)
R" =  - (V - U*Cos(Fi))
избавившись от косинуса, получим
VdR+UdX= - (V^2-U^2)dt
Проинтегрируем обе части, учитывая, что R начальное=H, конечное=0, а X и в начале и в конце=0, и получим ответ, приведенный в [61]


 
Submarine   (2005-11-07 15:33) [68]

А вот решите: всплывёт или нет:)


 
umbra ©   (2005-11-07 15:39) [69]

скажите кто-нибудь, где ошибка в [60]? большое спасибо заранее.


 
MBo ©   (2005-11-07 15:46) [70]

>umbra ©   (07.11.05 15:39) [69]
>скажите кто-нибудь, где ошибка в [60]?

Вначале - правильный подход использован, но потом странный  и недопустимый переход к средним скоростям проведён.


 
umbra ©   (2005-11-07 15:52) [71]

но почему он недопустимый? сумма квадратов проекций скоростей равна квадрату модуля и для средних скоростей тоже. или ошибка методологическая?


 
Jeer ©   (2005-11-07 16:02) [72]

MBo ©   (07.11.05 15:30) [67]

Можно, вообще, решить "логическим" путем :)

Необходимо получить зависимость расстояния от времени.

Это уравнение "почти" очевидно:
Разделяем на три части:
R(t) = R0 + Rсам(t) - Rрок(t)
R0 = H (начальное расстояние)
Rрок(t) = V*t (уменьшение расстояния за счет ракеты)
Rсам(t) = k*U*t (увеличение расстояния за счет самолета)
k = U/V (котангенс скоростей-векторов)

Отсюда

0 = H + U^2*t/V - V*t
и
t = V*H/(V^2-U^2)

Даже не потребовалось интегрировать:))


 
MBo ©   (2005-11-07 16:03) [73]

>но почему он недопустимый?
Потому что соотношение мгновенных проекций расширено на интегральный случай. Утрированный контрпример - пусть ракета двигалась с постоянной по модулю скорости по полуокружности, упав на землю в точке под самолетом. Твой метод дает среднее значения модуля проекции на вертикальную ось, а реальная средняя вертикальная скорость - нулевая.


 
GuAV ©   (2005-11-07 16:26) [74]

4. Эллипс ? Кардиоида ?
Уже который раз решить пытаюсь (ещё с прошлой публикации)...


 
MBo ©   (2005-11-07 17:58) [75]

>GuAV ©   (07.11.05 16:26) [74]
>4. Эллипс ? Кардиоида ?

Половина повернутого эллипса.
Направим ось Y по течению, X - от берега.
Тогда для водомерки, бегущей под углом a,

Vx=V*Sin(a)
X=V*t*Sin(a)
Vy=V*Cos(a)+kx

Y= +/- Sqrt((V*t)^2-X^2)+ k*X*t/2  
В принципе, уже видно, что это "искаженная" окружность, но для
выяснения точного вида кривой можно перевести в неявное уравнение, получается квадратичная форма конического сечения:

Y^2 - XY*kt + X^2* (kt/2)^2 - (Vt)^2=0

из инвариантов кв. формы (т.н. I, D, A)  однозначно заключаем, что это (действительный) эллипс c центром в начале координат, а по соотношению второго коэфициента и разности третьего и первого получаем, что угол наклона большой полуоси (относительно оси X) меняется со временем:
Fi = 1/2* Arctan(kt/2)
Занятно, что полуоси со временем меняются, но их произведение сохраняется равным квадрату радиуса окружности, которая образовалась бы без течения, и, следовательно, площадь полуэллипса 1/2*Pi*(V*t)^2

симуляция ;)  (для наглядности симметричная)

procedure TForm1.Button1Click(Sender: TObject);
var
 i, t: Integer;
 x, y: Integer;
 a, k, v, tt: Double;
begin
 k := 0.5;
 v := 50;
 for t := 0 to 99 do begin
   tt := t / 30;
   Canvas.FillRect(ClientRect);
   Canvas.MoveTo(0, 200);
   Canvas.LineTo(500, 200);
   for i := 0 to 1800 do begin
     a := DegToRad(i / 5);
     y := 200 + Round(v * tt * sin(a));
     x := Round(200 + v * Cos(a) * tt + k * v * tt * tt * 2 * sin(a) / 2);
     Canvas.Pixels[x, y] := clRed;
   end;
   Application.ProcessMessages;
   Sleep(300);
 end;
end;


 
GuAV ©   (2005-11-07 20:05) [76]


>Y= +/- Sqrt((V*t)^2-X^2)+ k*X*t/2  
> В принципе, уже видно, что это "искаженная" окружность,

Вот. А мне не было видно :-( .


 
Antonn ©   (2005-11-08 07:43) [77]

MBo ©   (07.11.05 17:58) [75]
Половина повернутого эллипса.

а парабола таковой являться может?


 
MBo ©   (2005-11-08 07:47) [78]

>Antonn ©   (08.11.05 07:43) [77]
>Половина повернутого эллипса.
>а парабола таковой являться может?

Эээ... Нет.

может, переформулируешь вопрос?


 
Jeer ©   (2005-11-08 14:44) [79]

По поводу

MBo ©   (03.11.05 10:20)  "1. Когда самолет пролетает со скоростью V .."
Jeer ©   (07.11.05 16:02) [72]

есть интересная частность:
- "сделать оценку (предел снизу) минимального расстояния между объектами в случае равенства скоростей".


 
MBo ©   (2005-11-08 15:01) [80]

>Jeer ©   (08.11.05 14:44) [79]
>есть интересная частность:
>- "сделать оценку (предел снизу) минимального расстояния между объектами в случае равенства скоростей".

Задачу  с равенством скоростей (ёж, догоняющий ежиху) я пытался давать пару недель назад, но никто не взялся решать.


 
Jeer ©   (2005-11-08 15:06) [81]

Жаль:((
Это так сейчас актуально:)
"Мужик с возможностями практически равными бабскими.":)))))

Я предпочитаю терминальные задачи с явным превосходством скорости, но с особыми фазовыми условиями:))


 
Antonn ©   (2005-11-08 16:23) [82]

MBo ©   (08.11.05 7:47) [78]
может, переформулируешь вопрос?

да как его переформулируешь...
половина элипса может быть параболой? т.е. фигура, "описываемая" водомерками парабола(под наклоном)?


 
MBo ©   (2005-11-08 16:56) [83]

>половина элипса может быть параболой?
Нет, не может быть. Это разные геометрические фигуры.
Эллипс (частный случай - окружность), парабола и гипербола - так называемые невырожденные конические сечения. Хотя все они, в принципе, и описываются общим неявным уравнением квадратичной формы Ay^2+Bxy+Cx^2+Dx+Ey+F=0, но соотношение параметров - разное, что приводит к разным явным уравнениям (канонические уравнения, т.е. для приведенных к началу координат и выравненных по осям случаев) x^2/a^2+y^2/b^2=1 для эллипса, y^2=2px для параболы, и x^2/a^2-y^2/b^2=1 для гиперболы



Страницы: 1 2 3 вся ветка

Форум: "Потрепаться";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.69 MB
Время: 0.016 c
2-1131633888
Витольд
2005-11-10 17:44
2005.11.27
Нить Thread


4-1127462761
Still Swamp
2005-09-23 12:06
2005.11.27
Уходит фокус после keybd_event VK_RIGHT


2-1131361359
Ольга
2005-11-07 14:02
2005.11.27
Формирование строки


14-1131330279
Petr V . Abramov
2005-11-07 05:24
2005.11.27
проблемы Франциии


14-1130858704
PZ
2005-11-01 18:25
2005.11.27
Динамические массивы в Turbo Pascal





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский