Задачи для начинающих
подкидывать задачки.
Вот реальная задача управления светом в подвале школы (как то товарищ попросил запрограммировать с его слов)
- есть кнопка.
- начальное состояние - выключить свет (если включен).
- при нажатии кнопки включить свет.
- если кнопка нажата коротко, то свет сам потом выключается через некоторое время. (далее начальное состояние)
- если кнопка нажата больше секунды (но меньше 10ти), то свет сам не выключится, а выключится повторным нажатием кнопки. (далее начальное состояние)
- если кнопку нажать очень долго (более 10 секунд), то свет моргает один раз (т.е. тухнет на 1 секунду и опять включается) и устанавливается некий сигнал (зачем нужен не знаю).
- после этого короткие нажатия кнопки игнорируются, а при долгом нажатии (10секунд), свет моргает 5 раз и тухнет, а некий сигнал сбрасывается через некоторое время начиная с начала 5тикратного моргания. (далее начальное состояние).
...
Кроме того есть аварийный сигнал.
Если он пришел, свет включается, некий сигнал выключается, а вышеприведённый алгоритм отключается не зависимо от текущего его шага.
Когда аварийный сигнал уйдёт, то алгоритм стартует с начального состояния.