Включения и сортировка · 10 из 15
Веер бросков
Аркадий Семёнович, руководитель кружка «Юный физик», спорит с кружковцами, под каким углом мяч летит дальше всего. Кружковцы кричат «круче — выше — дальше», Аркадий Семёнович молчит и просит нарисовать на проекторе веер бросков с одной скоростью под разными углами. Точки траектории проще всего собрать одним включением — им и попросил.
Что сделать
Соберите точки полёта мяча — через каждые полметра по горизонтали от броска, а последней — место, где он упадёт.
Что приходит
v— скорость броска, м/сugol— угол к земле, в градусах, от 1 до 89
Что вернуть
Список точек (x, y) — от (0, 0) до места падения (d, 0), числа округлены до сотых.
Допишите функцию traektoriya в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
Ограничения
Без цикла
forБез цикла
while
Обходные пути — тоже нарушение: eval, exec, getattr, имена с двойным подчёркиванием, импорт os, subprocess и им подобных.
с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой
Мяч бросили со скоростью 7 м/с под 45°. Он улетит на 7² · sin 90° / 9,8 = 5 метров — значит, точки при x = 0; 0,5; 1; … 4,5 и последняя — место падения (5.0, 0.0), одиннадцать штук. Первая — (0.0, 0.0), в середине пути, при x = 2,5, мяч выше всего — 1,25 метра.
traektoriya(7, 45)
[(0.0, 0.0), (0.5, 0.45), (1.0, 0.8), (1.5, 1.05), (2.0, 1.2), (2.5, 1.25), (3.0, 1.2), (3.5, 1.05), (4.0, 0.8), (4.5, 0.45), (5.0, 0.0)]
g = 9.8, угол a — в радианах (math.radians).
Дальность полёта: d = v² · sin(2a) / g.
Высота над точкой x: y = x · tan a − g · x² / (2 · v² · cos² a). Точки — при x = 0, 0.5, 1, 1.5, … — все, где x строго меньше d, и последней — место падения (d, 0): так линия доходит до земли, даже если d не кратна полуметру. Каждое число — round(…, 2). Циклы for и while не годятся: точки собираются включением.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.