Стрелки часов  (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.