Это несложная техническая задача. В ней требовалось аккуратно реализовать считывание и вывод времени в формате ЧЧ:ММ, получение времени прибытия на станцию по времени прибытия на предыдущую и количеству минут, затраченных на переезд между станциями. При данных в задаче ограничениях вторую из операций можно было реализовать двумя способами:
1) реализовать прибавление ко времени одной минуты и получать нужное время путём прибавления по минуте в цикле;
2) реализовать прибавление произвольного количества минут, удовлетворяющих условию задачи, ко времени.
Остаётся не забыть про переход через 24 часа.
Теперь рассмотрим, как можно было это всё реализовать на Delphi. Положим, что в переменной H хранятся текущие часы, а в переменной M – текущие минуты.
Для считывания времени понадобятся две дополнительные переменные: S типа String[2] и Tmp типа Char.
Read(S,Tmp); {Считываем первые два символа - часы, а затем двоеточие}
H:=StrToInt(S);
Read(S); {Считываем минуты}
M:=StrToInt(S);
Теперь рассмотрим прибавление DM минут к времени, хранящемуся в переменных H и M:
H:=(H + (DM+M) Div 60) Mod 24;
M:=(DM+M) Mod 60;
Для вывода времени в формате ЧЧ:ММ понадобится два условных оператора:
If H<10 Then Write(‘0’); {Выводим часы и двоеточие}
Write(H,’:’);
If M<10 Then Write(‘0’); {Выводим минуты}
WriteLn(M);