Ю3.8

«Отскоки»

Задача: Материальная точка бросается на горизонтальную плоскость со скоростью [latex]V[/latex] и под углом [latex]\alpha[/latex] к ней ( плоскости ). При каждом ударе о плоскость, кинетическая энергия точи уменьшается в [latex]\beta[/latex] раз. Найти абсциссы первых [latex]n[/latex] точек касания. Сопротивлением воздуха пренебречь.

По умолчанию примем количество интересующих нас отскоков равным 3.

[latex]V[/latex](speed)[latex]m/c[/latex] [latex]\alpha[/latex](corner)  [latex]\beta[/latex] Первая координата Вторая координата Третья координата Комментарий
10 15 2 5.09858 7.64787 8.92252 Тест пройден
8 30 4 5.65184 7.06480 7.41804 Тест пройден
27 45 3 74.3373 99.1164 107.376 Тест пройден
17 35 3 27.6926 36.9234 40.0004 Тест пройден
13 0 5 0.00000 0.00000 0.00000 Тест пройден

Замечание:

По неизвестной мне причине (думаю на погрешность округления) [latex]sin( \pi)[/latex] при вычислениях равен 1.24879e-15.

Исходный код:

Для решения задачи необходимо вспомнить уроки физики в начале десятого класса, а именно главу о движении под углом к горизонту. Воспользуемся формулой расстояния полета материальной точки [latex]S=\frac{V^2sin(2\alpha) }{g}[/latex] . По условию задачи сказано, что кинетическая энергия уменьшается при каждом отскоке в [latex]\beta[/latex] раз. Если рассмотреть формулу кинетической энергии: [latex]E_{k}=\frac{ mV^2 }{2}[/latex]- можно заметить, что [latex] m[/latex] (масса) является константой, значит изменяться может только [latex]V^2[/latex] (скорость тела в квадрате). Если условится, что материальная точка начинает движение в начале координат, то координата первого отскока будет равна [latex]S[/latex], второй — [latex]S+S_{1}[/latex], третьей — [latex]S+S_{1}+S_{2}[/latex], n-ой — [latex]S+…+S_{n-1}[/latex].

Алгоритм:

  1. Объявление переменных и константы(ускорение свободного падения).
  2. Вывод поясняющей информации.
  3. Ввод значений переменных.
  4. Проверка недопустимых ситуаций:
    • Проверка угла: значения угла выше 90 градусов или отрицательное значение противоречат условию задачи.
    • Проверка скорости: отрицательное значение будет означать движение в противоположную интересующей нас сторону.
    • Проверка коэффициента уменьшения кинетической энергии: это число должно быть хотя бы положительным.
    • Проверка числа интересующих нас отскоков: это должно быть натуральное число.
  5. Вычисление вспомогательных величин (двойной угол, скорость в квадрате).
  6. Создание вычислительного цикла.
    • Вывод значений.
  7. Окончание работы.

 Ссылка на Ideone.

5 thoughts on “Ю3.8

  1. Похоже программа работает правильно. Зачту после устранения недочётов:
    — Поскольку формулу для расстояния между отскоками Вы не выводите, нужно дать ссылку на источник.
    — Зачем вводить угол в градусах, а потом переводить в радианы. Зачем эта лишняя работа?
    — Строки 29-34 имеют неверный сдвиг.

    В этой задаче нужен рисунок. Если сделаете его в SVG (т.е. разберётесь с этим формаатом и закодируете, а не нарисуете в редакторе), то я готов выставить дополнительные 10 баллов.

Добавить комментарий