Доброго времени суток, форумчане!
С наступающим!
У кого "предпраздничное" или "пост - корпоративное" состояние, лучше закройте пост, плиз.
Попытаюсь быть краток, как смогу...
Есть: два выключателя, две лампочки и вентилятор.
Надо:
- включен первый выключатель, включилась первая лампа, если прошло 30 секунд и лампа горит, включился вентилятор; первый выключатель выключен - вентилятор еще минут пять работает; выключатель не выключен - через 7-8 минут выключается первая лампа и вентилятор.
- включен второй выключатель - включилась вторая лампа; через пять минут (не взирая на положение первого выключателя), выключается вентилятор. Если через минут 40 (ну так, приблизительно, по битам не прикидывал до "круглого") не выключился второй выключатель, вторая лампа выключается.
Теперь грабли (ну мозг кипит уже): если второй выключатель выключился, а первый включен в "своем" временном диапазоне - включить вентилятор; если второй выключился, а первый "только что" выключили и был он включен более 30 секунд - включить вентилятор.
Нахрена это всё? (сори за народность).
В доме ребёнок, туалет (первый выключатель), ванна (второй) и вентилятор один на два "удобства". Есно, забывается выключаться свет, плюс - когда более 5 минут включен второй - знать ванна, - вентилятор ни к чему. Опять же: более пяти минут, но до 40 - продуть бы пар не помешало. Отдельный включатель не предлагать, чти выше - ребенок. Думаю, темка интересная, с коллегами (не программерами - железячниками, лепили нечто на дискретах - громоздко однако) одобряем идею.
Попробую перевести:
- включил первый вентилятор, взял веник (и т. д.) выключил - ничего не произошло. Попал надолго - включился вентилятор. По второму - приблизительно то же, когда зашел за порошком и т. д . всё спокойно, без изменений, понырять - вентилятор долой, - сквозит.
Алгоритм накидал, не сходиться. Кому интересно (просто на досуге) поломать голову - буду благодарен!
S1 - первый выключатель
S2 - второй -//-
K - кульвер, вентилятор
SEK1 - время работы первого
SEK2 - второго
SEKK - вентилятора
FSEK1 - флаг, можно считать, он же - включен (вроде удобно, было два отделных - совсем запутался)
FSEK2 - для второго
FSEKK - для кульвера
Иметировал в этом - Flowcharts, потом - в пик. Что сейчас есть - не идеально
Не проходите мимо, все идеи принимаются...