Форум сайта python.su
Условие:
С начала суток прошло H часов, M минут, S секунд (0 ≤ H < 12, 0 ≤ M < 60, 0 ≤ S < 60). По данным числам H, M, S определите угол (в градусах), на который повернулаcь часовая стрелка с начала суток и выведите его в виде действительного числа.
P.S
Недавно начал учить язык программирования и наткнулся на такую задачу. Не могу понять каким образом решить эту задачу. Прошерстил весь интернет в поисках математических законов которые мне бы помогли. Ничего не нашел. Может быть я что то не понимаю или чего то не вижу. Не могу придумать как вычеслить угол используя входящие данные, в моем , субъективном, понимании их недостаточно для решения задачи.
Помогите хотя бы с математикой, буду очень благодарен.
Офлайн
НУ давайте подумаем вместе. Весь Циферблат это 12 часов или 360 градусов. Стрелка часов сдвинулась на 1 час, 1 / 12 * 360 градусов = 30 градусов. Минутная стрелка пройдя 60 минут сдвинет часовую стрелку на 1 час то есть на 30 градусов. А если она пройдет 1 минуту, то сдвинет ее на 1/60 часа что равно 1 / 60 * 30 градусов и тд. Примя все это во внимание можно написать 3 отдельные функции которые считают градусы для часов, минут и секунд. А затем сложить результат их вычисления на основе входящих данных.
Офлайн
Смотри, если у тебя подаётся на вход H=0 M=0 S=10, то как минутная стрелка, так и часовая стрелка повернулись на какое-то количество градусов. Минутная стрелка повернулась больше, чем часовая. Надо построить эти зависимости: минутной стрелки от секундной, часовой стрелки от секундной и часовой стрелки от минутной.
JOHN_16Не, это упражнение с подколкой. Это аналоговые часы. Если одна секунда хотя бы прошла, то часовая стрелка уже повернулась на какое-то количество градусов (на дробное количество). То есть нигде не сказано, что у часовой стрелки 12 положений или даже 60 положений. Мы и про минутную стрелку не можем сказать, что у неё 60 положений. Только у секундной стрелки гарантированно 60 положений, потому что в задаче нет миллисекунд.
НУ давайте подумаем вместе.
Отредактировано py.user.next (Сен. 24, 2018 16:17:00)
Офлайн
py.user.nextПонятно. Но в таком случае все равно нужно использовать некую закономерность которая бы связала положение часовой стрелки с учетом расположения секундной и минутной? Тем более что вопрос именно в том какой угол мы получим между часовой и начальной точками.
Смотри, если у тебя подаётся на вход H=0 M=0 S=10, то как минутная стрелка, так и часовая стрелка повернулись на какое-то количество градусов. Минутная стрелка повернулась больше, чем часовая. Надо построить эти зависимости: минутной стрелки от секундной, часовой стрелки от секундной и часовой стрелки от минутной.
Офлайн
JOHN_16
НУ давайте подумаем вместе. Весь Циферблат это 12 часов или 360 градусов. Стрелка часов сдвинулась на 1 час, 1 / 12 * 360 градусов = 30 градусов. Минутная стрелка пройдя 60 минут сдвинет часовую стрелку на 1 час то есть на 30 градусов. А если она пройдет 1 минуту, то сдвинет ее на 1/60 часа что равно 1 / 60 * 30 градусов и тд. Примя все это во внимание можно написать 3 отдельные функции которые считают градусы для часов, минут и секунд. А затем сложить результат их вычисления на основе входящих данных.
Офлайн
Сегодня подумал, нужно выразить только две зависимости: часовой стрелки от минутной и минутной стрелки от секундной. Часовая стрелка только от минутной зависит, которая уже зависит от секундной.
Офлайн
py.user.nextБлагодарю за уделенное время. Все заработало. Благодарю за помощь.
Сегодня подумал, нужно выразить только две зависимости: часовой стрелки от минутной и минутной стрелки от секундной. Часовая стрелка только от минутной зависит, которая уже зависит от секундной.
Офлайн