Averages/Mean time of day: Difference between revisions
Content added Content deleted
Alextretyak (talk | contribs) (Added 11l) |
Alextretyak (talk | contribs) m (→{{header|11l}}) |
||
Line 22: | Line 22: | ||
{{trans|Python}} |
{{trans|Python}} |
||
<lang 11l>F mean_angle(angles) |
<lang 11l>F mean_angle(angles) |
||
V x = sum(angles.map(a -> cos(radians(a)))) / angles.len |
|||
V y = sum(angles.map(a -> sin(radians(a)))) / angles.len |
|||
R degrees(atan2(y, x)) |
R degrees(atan2(y, x)) |
||
F mean_time(times) |
F mean_time(times) |
||
V t = (times.map(time -> time.split(‘:’))) |
|||
V seconds = (t.map(hms -> (Float(hms[2]) + Int(hms[1]) * 60 + Int(hms[0]) * 3600))) |
|||
V day = 24 * 60 * 60 |
|||
V to_angles = seconds.map(s -> s * 360.0 / @day) |
|||
V mean_as_angle = mean_angle(to_angles) |
|||
V mean_seconds = round(mean_as_angle * day / 360.0) |
|||
I mean_seconds < 0 |
I mean_seconds < 0 |
||
mean_seconds += day |
mean_seconds += day |
||
V h = mean_seconds I/ 3600 |
|||
V m = mean_seconds % 3600 |
|||
V s = m % 60 |
|||
m = m I/ 60 |
m = m I/ 60 |
||
R String(h).zfill(2)‘:’String(m).zfill(2)‘:’String(s).zfill(2) |
R String(h).zfill(2)‘:’String(m).zfill(2)‘:’String(s).zfill(2) |