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