Определить по значению угла часовой стрелки значение угла для минутной стрелки - C (СИ)
Формулировка задачи:
Часовая стрелка образует угол с лучом проходящим через центр и через точку соответствующую 12 часам на циферблате аналоговых часов
От 0 до 2п
Определить по значению угла часовой стрелки значение угла для минутной стрелки, а также кол-во полных часов и минут...
Решение задачи: «Определить по значению угла часовой стрелки значение угла для минутной стрелки»
textual
Листинг программы
#include <stdio.h>
#define PI 3.14159
int main()
{
double alp,m1,min_h,step;
int hour,minutes=0;
scanf("%lf",&alp); //ввод угла от 0 до 2*PI
hour=alp/(2*PI/12); // целых часов
m1=2*PI/60; // угол одной минуты для минутной стрелки
step=(2*PI/12)/60; // угол одной минуты в пределах часа, для часовой стрелки
min_h=(2*PI/12)*hour; // угол целого часа
while(min_h<alp) // пока угол не достигнет введенного значения
{
min_h+=step; // улол увеличиваем
minutes++; // считаем минуты
}
if(minutes==60) // если введено пограничное значение
{
minutes=0; // обнуляем минуты
hour++; // увеличиваем часы
}
printf("Hour = %d\n",hour);
printf("Minutes = %d\n",minutes);
printf("Min len = %lf\n",minutes*m1);
return 0;
}
Объяснение кода листинга программы
- Подключение стандартной библиотеки
- Определение константы PI
- Ввод значения угла alp от 0 до 2*PI
- Расчет целых часов hour
- Расчет угла одной минуты для минутной стрелки m1
- Расчет угла одной минуты в пределах часа для часовой стрелки step
- Расчет угла целого часа min_h
- Пока min_h меньше введенного значения, увеличиваем min_h на шаг и считаем минуты
- Если минуты равны 60, обнуляем минуты и увеличиваем часы
- Вывод значения часов hour
- Вывод значения минут minutes
- Вывод угла минутной стрелки min_len = minutes * m1
- Возврат 0, завершение работы программы