Алгоритм для решения этой задачи может выглядеть следующим образом:
1 Ввести номер урока.
2 Рассчитать общее время, прошедшее с начала учебного дня, используя формулу: (8:30 + (номер урока - 1) \times (45 + 10))
3 Преобразовать результат в удобный формат времени.
4 Вывести время окончания урока.
Вот пример программы на языке Паскаль, который позволяет пользователю ввести номер урока и выводит время его окончания:
```pascal
program SchoolSchedule;
var
lessonNumber, startTime, endTime, breakTime: integer;
begin
// Ввод номера урока
write('Введите номер урока: ');
readln(lessonNumber);
// Рассчет времени окончания урока
startTime := 8 * 60 + 30; // Преобразование начального времени в минуты
breakTime := 10;
endTime := startTime + (lessonNumber - 1) * (45 + breakTime);
// Преобразование времени окончания обратно в формат ЧЧ-ММ
writeln('Время окончания урока: ', endTime div 60, '-', endTime mod 60);
end.
```
Этот код реализует алгоритм для решения данной задачи на языке Паскаль.
// Преобразование времени окончания обратно в формат ЧЧ-ММ
часы = время_окончания / 60
минуты = время_окончания % 60
// Вывод времени окончания урока
вывод часы + "-" + минуты