Упрощение булевой алгебры

Нуждаюсь в помощи, понятия не имеют мыслительный процесс в выполнении этого вида упрощения.! - Обозначает НЕ, Позволяет, говорят, что я имею! ((A+B) * (+! B)), я должен упростить то использование всех правил кроме абсорбции.
Я знаю, что это *! B +! * B, но я должен знать, что процесс добирается там. Что состоит в том, чтобы запустить хорошее место. Я делаю несколько разных вещей, но я никогда не придумываю правильный ответ.

6
задан Bill the Lizard 19 September 2012 в 12:26
поделиться

4 ответа

Попробуйте повторить приложения закона ДеМоргана.

-121--4244617-

Является ли это разумным способом преобразования?

Да

Могу ли я сохранить все мои общедоступные методы и поля на Java? Groovy «просто» супернабор, верно?

Почти супернабор, но не совсем. Например, = в Groovy вызывает метод .equals , но в Java проверяет, относятся ли 2 ссылки к одному и тому же объекту. Другим примером является то, что Groovy не поддерживает этот синтаксис для построения массивов

Object[] objs = new Object[] { 1, 2, 4 }

Последний пример состоит в том, что когда вызывается перегруженный метод, Groovy использует тип выполнения параметров при выборе того, какой метод вызывать, тогда как Java использует типы параметров времени компиляции. На этой странице представлен довольно полный список различий между двумя языками.

Что бы вы не делали в Groovy, но предпочитаете вместо этого Java?

Я пишу все в Groovy, потому что я гораздо продуктивнее с Groovy, чем Java, и я наслаждаюсь программированием Groovy гораздо больше. Я бы использовал Java только в том случае, если возникла проблема производительности с некоторым кодом И я мог бы продемонстрировать, что запись его в Java разрешила проблему. На практике со мной такого никогда не случалось.

Также могут быть социально-политические причины для использования Java, например, некоторые коды должны поддерживаться многими людьми, некоторые из которых не знают Groovy и не хотят его изучать.

-121--2964706-

В качестве процесса упрощения используйте Закон Де Моргана для перемещения оператора NOT в скобки.

Таким образом, это будет

!((A+B) * (A+!B)) = !(A+B) + !(A+!B)

Следующий шаг (снова используйте закон Де Моргана) после этого приведет к вашему ответу.

Надеюсь, это поможет.

ура

5
ответ дан 9 December 2019 в 20:43
поделиться

Карты Карнауха должны быть хорошим началом.

5
ответ дан 9 December 2019 в 20:43
поделиться

Попробуйте повторить применение закона ДеМоргана.

2
ответ дан 9 December 2019 в 20:43
поделиться

Re: «С чего начать?» - используйте ссылку на логические законы. Вот один, который я нашел: http://www.laynetworks.com/Boolean%20Algebra.htm

Просмотрите законы и посмотрите, какие из них можно применить; затем выберите тот, который больше всего похож на шаг в правильном направлении.

С практикой вы научитесь интуитивно понимать, какие законы выбирать; тем временем вам нужно будет немного поохотиться и поклевать.

0
ответ дан 9 December 2019 в 20:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: