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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2013, 20:49   #1
Amandida
 
Регистрация: 20.05.2013
Сообщений: 4
По умолчанию мячик во сне

ПОМОГИТЕ РЕШИТЬ

Маленький мальчик любит кидать мячики во сне. Он стоит на бесконечной горизонтальной плоскости и кидает мячик под углом a градусов к горизонту с начальной скоростью V м/с. Брошенный мячик пролетает некоторое расстояние, падает, отскакивает от плоскости, снова летит, снова падает и так далее.
Поскольку во сне бывает все что угодно, то и законы, по которым летит мячик, немного отличаются от законов физики:
Мячик движется в поле силы тяжести с ускорением свободного падения, равным 10 м/с2;
Угол отскока мячика равен углу падения;
При каждом ударе мячика о плоскость его кинетическая энергия уменьшается в K раз;
Во сне нет воздуха;
Число "пи" равно 3.1415926535.
Ваша задача — определить, на какое максимальное расстояние от точки бросания может улететь мячик.
Исходные данные
Ввод содержит три числа: 0 ≤ V ≤ 500000, 0 ≤ a ≤ 90 и K > 1, разделённых пробелами. Числа V и a — целые, K — действительное.
Результат
Следует вывести единственное число — искомое расстояние в метрах, округленное до двух десятичных знаков после запятой.
Пример
исходные данные
5 15 2.50
результат
2.08
Amandida вне форума Ответить с цитированием
Старый 20.05.2013, 20:51   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,759
По умолчанию

Что не получается то? Чем помочь?
FaTaL вне форума Ответить с цитированием
Старый 20.05.2013, 20:57   #3
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

Это даже не программирование.
eval вне форума Ответить с цитированием
Старый 20.05.2013, 20:58   #4
Amandida
 
Регистрация: 20.05.2013
Сообщений: 4
По умолчанию

X=V*Cos(A)*T
Y=V*Sin(A)*T-g*t^2/2

когда мячик на земле Y=0. тo

0=V*Sin(A)*T-g*t^2/2 ==> V*Sin(A)=G*t/2
==> t=V*Sin(A)*2/G

X=V*Sin(A)*T = V*V*Sin(A)*Cos(A)*2/G

Sin(2A)=2Sin(A)*Cos(A), so:

X=V*V*Sin(2A)/G

кинетическая энергия m*V^2/2
она уменьшается в к раз:

E1/E2=K

(M*V^2/2)/(M*V1^2/2)=k ==> V1=V/Sqrt(K)

на этом путь к решению закончен...не сильна в программировании,но в скором времени должна предоставить решение((
Amandida вне форума Ответить с цитированием
Старый 20.05.2013, 20:59   #5
Amandida
 
Регистрация: 20.05.2013
Сообщений: 4
По умолчанию

увы это оно)
Amandida вне форума Ответить с цитированием
Старый 20.05.2013, 21:43   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Немного кинематики и сложения бесконечных рядов:
S = (k * sin (2 * a) * V * V) / ((k - 1) * g)

И не забудьте про предельные углы 0 и 90 градусов.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 20.05.2013, 22:45   #7
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Энергия уменьшается в K раз, скорость уменьшается в sqrt(K) раз.
Время от отскока до отскока пропорционально скорости: T = V*Sin(A)*2/G.
Расстояние - L = V*V*Sin(A)*Cos(A)*2/G = sin(2a)*V^2/g.
Это - L0, от старта до первого отскока. L1, от первого отскока до второго - то же самое, но скорость в sqrt(K) раз меньше: L1 = L0/K.
Суммарно мячик ускачет на L0+L0/K+L0/K^2+... = L0*(1+1/K+1/K^2+...) = (геометрическая прогрессия, K>1) = K*L0/(K-1) = (K*sin(2a)*V^2)/(g*(K-1)).
Остался один нюанс: в большинстве языков программирования функция синуса принимает в качестве аргумента радианы, а не градусы:
Код:
double ball_distance(double V, double a, double K){
  const double deg_to_rad = 3.1415926535 / 180;
  return K*sin(deg_to_rad*2*a)*V*V / (10 * (K-1));
}
Abstraction вне форума Ответить с цитированием
Старый 20.05.2013, 22:55   #8
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Кросспостинг
http://programmersforum.ru/showthread.php?t=236453


____
Fixed: Удалил ту тему.
Модератор.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось Serge_Bliznykov; 21.05.2013 в 09:00.
BDA вне форума Ответить с цитированием
Старый 20.05.2013, 23:09   #9
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

Цитата:
увы это оно
пока не видно..
eval вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создать игрушку-мячик, бьющийся об стенки Hitory Помощь студентам 3 29.02.2012 23:27
Мини-игра в мячик в Delphi Map4eJIo Помощь студентам 3 25.02.2009 20:44