есть переменные (упрощенный пример)
char t_tek; // время текущее
char t_bud; // время будильника
bit buz=0; // бит состояния бузера - 0-откл, 1-вкл.
определяем, что будильник должен сработать в некое время
время тикает, текущее время становится равным будильнику
далее обрабатываем типа
if (t_tek == t_bud) buz=1; else buz=0;
и вот вопрос - ну проснулись мы, ну подошли к будильнику,
что-то на нем жмакнули и всё это мы сделали за 10 сек
а условие "t_tek == t_bud" еще актуально.
Как будем обходить условия, если t_tek и t_bud нельзя менять.
а buz по-любому надо сделать =0; дабы не будить остальных.
ПС. Если нужны др переменные локальные или глобальные - вводите.


