Стрелки часов (2 уровень) |
Условие :Циферблат механических часов имеет 12 часовых делений и 60 минутных. Вычислить угол между часовой и минутной стрелками часов, показывающих заданное время. Стрелки всегда показывают точно на деления циферблата, часовая стрелка передвигается на следующее деление через каждые 12 минут. Технические условия :Файл "input.txt" содержит время суток в виде hh:mm, где hh - часы, mm - минуты. Он не содерджит пробелов и пустых строк, часты и минуты задаются двумя десятичными знаками. Вывести в файл "output.txt" величину наименьшего угла между стрелками часов в градусах. Примеры файлов: Input.txt Output.txt 10:05 90
Решение :var f1,f2:text; s:string; h,m,code,c:integer; hs,ms:string; begin assign(f1,'input.txt'); reset(f1); read(f1,s); close(f1); hs:=s; delete(hs,3,3); val(hs,h,code); ms:=s; delete(ms,1,3); val(ms,m,code); h:=h*5+(m div 12); if h-m>30 then c:=6*abs(60-h+m) else c:=6*abs(h-m); if c>180 then c:=360-c; assign(f2,'output.txt'); rewrite(f2); write(f2,c); close(f2); end. |