Я пытаюсь решить упражнение с помощью машины Мура, но я немного смущен. Я не знаю, сколько штатов нужно.Как бы вы решили эту конечную машину (Мур)?
Входы:
- A (переключатель): Переключение между автоматическим и ручным режимом.
- P (кнопка): нажимайте высокий уровень при нажатии.
- D (детектор движения): дает высокий уровень, если детектировать движение
Выходы:
- L (лампа).
Условия:
- Если мы в ручном режиме, L изменится (от 0 до 1) или (1 до 0), если нажать "P". Нам нужно снова нажать кнопку, чтобы снова изменить L (это не верно, удерживайте палец).
- Если мы находимся в автоматическом режиме, L будет включен, а «D» обнаружит движение.
- Пользователь никогда не будет нажимать «A» и «P» одновременно.
- Когда вы переключаетесь с автоматического на ручной или ручной на автоматический, лампа должна проходить на низком уровне.
- Когда вы переключаетесь с автоматического на ручной, лампа будет оставаться на высоком уровне при обнаружении движения.
Большие проблемы - это последние условия. Я не знаю, как я могу справиться с ними. Нужно ли создавать дополнительные состояния для этих условий? Какие шаги вы предпримете для решения этой задачи?
Заранее спасибо
Что вы подразумеваете под вторым по последнему условию? Что произойдет, если переключатель A переключится во время включения лампы? – augurar
@augurar При переходе лампа должна пройти через состояние выключения, а затем снова нормально работать –