22.12.2010, 16:55 | #1 (permalink) |
Новичок
Регистрация: 17.12.2010
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Очередная задачка, на этот раз несколько связана со временем.
а) совпадут, б) расположатся перпендикулярно друг другу. |
22.12.2010, 16:55 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Ваш топик на эту тему не единственный, вот похожие Очередная проблема с материнкой Задачка. Очередная проблема Задачка IBM ThinkPad 390XPIII(2626). Проблема с датой и временем |
22.12.2010, 17:28 | #2 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Предполагаю, что тут надо отталкиваться от соотношения "час к минуте" как 1/60 к 1/3600 и, соответственно, для а) - уравнять соотношения (m+х)/60=(n+х)/3600 и вычислить х; для б) соответственно, нужно использовать сдвиг на 15 единиц, чтобы получить перпендикуляр.
__________________
Убить всех человеков! |
22.12.2010, 22:55 | #3 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Вот. Не очень, правда, изящно, но уж что есть:
Код:
VAR h,m,Angle_h,Angle_m,A_h,A_m,min:Integer; BEGIN Write('Hours = '); ReadLn(h); Write('Minutes = '); ReadLn(m); Angle_h:=h*30+(m div 2); Angle_m:=m*6; A_h:=Angle_h; A_m:=Angle_m; min:=0; Repeat Inc(min); A_h:=h*30+((m+min) div 2); If A_h>360 then A_h:=A_h-360; Inc(A_m,6); If A_m>360 then A_m:=A_m-360; Until ABS(A_h-A_m)<6; WriteLn('Hands will coincide in ',min,' minutes'); A_h:=Angle_h; A_m:=Angle_m; min:=0; Repeat Inc(min); A_h:=h*30+((m+min) div 2); If A_h>360 then A_h:=A_h-360; Inc(A_m,6); If A_m>360 then A_m:=A_m-360; Until ABS(ABS(A_h-A_m)-90)<6; WriteLn('Hands will form 90-degrees angle in ',min,' minutes'); ReadLn; END. И еще. Принято, что совпадение стрелок означает, что их угловое расхождение не превышает 6°, т.е. угла, соответствующего одной временнОй минуте. И для 90° - аналогично. |
21.03.2011, 11:57 | #5 (permalink) |
Новичок
Регистрация: 21.03.2011
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
да большое спасибо, очень пригодилось)
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|