Proc 51. Описать процедуру IncTime(H, M, S, T), которая увеличивает на T секунд время, заданное в часах H, минутах M и секундах S (H, M и S - входные и выходные параметры, T - входной параметр; все параметры - целые положительные). Дано время (в часах H, минутах M, секундах S) и целое число T. Используя процедуру IncTime, увеличить данное время на T секунд и вывести новые значения H, M, S.

Решение на Python 3

import random

def TimeToHMS(T):
L = []
H = T // 3600
T -= H*3600
M = T // 60
T -= M*60
S = T
result = {'H': H, 'M': M, 'S': S}
return result

def HMStoSeconds(HMS):
seconds = HMS['H']*3600 + HMS['M']*60 + HMS['S']
return seconds

def IncTime(R,T):
total_sec = HMStoSeconds(R) + T
R = TimeToHMS(total_sec)
return R

for i in range(0,3):
Sec1 = random.randrange(1,10000)
Sec2 = random.randrange(1,10000)

print()
r = TimeToHMS(Sec1)
print("H:M:S -> ")
print("Hours:",r['H'],": Minutes:",r['M'],": Seconds:",r['S'])
print("Time (seconds) ->",Sec2)
r = IncTime(r,Sec2)
print("H:M:S + Time -> ")
print("Hours:",r['H'],": Minutes:",r['M'],": Seconds:",r['S'])
Sec3 = Sec1 + Sec2
r = TimeToHMS(Sec3)
print("Sec1 + Sec2 -> ")
print(Sec3,": Hours:",r['H'],": Minutes:",r['M'],": Seconds:",r['S'])
y = r['H']*3600 + r['M']*60 + r['S']
print("Check:",y)
print()