Я пытаюсь разработать решение, которое может принимать троичное выражение, которое может быть вложено много раз, и иметь возможность преобразовывать его в таблицу истинности.
Я изо всех сил пытаюсь понять, как найти соответствующие биты тройки, потому что, очевидно, они используют одни и те же символы. Может ли кто-нибудь помочь мне понять эту проблему?
В качестве примера я мог бы иметь такое выражение, как:
InEmerg? Red: (Failed? Black: White)
Я хочу иметь возможность разобрать его, чтобы превратить в таблицу истинности.
| РЕЗУЛЬТАТ | КРАСНЫЙ | ЧЕРНИТЬ | БЕЛЫЙ |
|---|---|---|---|
| InEmerg | Истинный | ЛОЖЬ | ЛОЖЬ |
| Неуспешный | - | Истинный | ЛОЖЬ |
Решение проблемы
Ваша таблица истинности не соответствует задаче. Красный/черный/белый - это результаты, а не логические значения в этом контексте. Для вашего примера таблица истинности будет выглядеть так:
| InEmerg | Неуспешный | Результат |
|---|---|---|
| Истинный | Истинный | Красный |
| Истинный | ЛОЖЬ | Красный |
| ЛОЖЬ | Истинный | Чернить |
| ЛОЖЬ | ЛОЖЬ | Белый |
Комментариев нет:
Отправить комментарий