📅  最后修改于: 2023-12-03 15:12:45.417000             🧑  作者: Mango
本次介绍的是 Sudo GATE 2020 Mock II(2019 年 1 月 10 日)问题 5,主题为“门”。该问题考察了基本的逻辑门知识以及常见的运算符使用。
给定以下布尔表达式:
A * (B’ + C) * D’ + A * B * D + A’ * C * D’
其中,’
表示逻辑非运算符,*
表示逻辑与运算符,+
表示逻辑或运算符。以上表达式中的字母均为变量。
请化简表达式并使用以下逻辑门实现:
所需的变量数为 4,其中每个变量对应一个开关。
该问题考察了逻辑门知识的应用和表达式的化简。首先需要化简给定的布尔表达式,然后通过逻辑门来实现。
根据布尔表达式的要求,我们需要对表达式进行化简,提取出共同部分并合并。通过运用布尔运算的运算规律,可以将其化简为以下形式:
A * (B’ + C + D) + A’ * C * D’ + A * B * D
化简后的表达式中只通过了逻辑与、逻辑非和逻辑或三种运算符。下面根据题目要求,使用逻辑门来实现该表达式。
通过观察表达式,我们可以发现其需要使用一个非门、两个与门和一个或门。因为变量数为 4,需要使用全部的 4 个变量来实现。
先使用 3 个变量和 1 个非门实现最后一项 A * B * D
,然后将其输入第一个与门。另外,令 B’ + C + D
输出到第二个与门。然后将第一个与门和第二个与门的输出分别输入到或门中,得到结果输出。
通过以上实现方式,可以满足题目的要求,将化简后的表达式用逻辑门实现。
1. 实现化简后的表达式为:
A * (B’ + C + D) + A’ * C * D’ + A * B * D
2. 需要使用以下逻辑门来实现以上表达式:
- 1 个非门
- 2 个与门
- 1 个或门
3. 使用 4 个变量实现以上表达式,分别为 A、B、C、D。
4. 具体实现方式如下:
- 第一个与门:输入为 A, B 和 D,输出为 A * B * D。
- 第二个与门:输入为 B’, C 和 D,输出为 B’ + C + D。
- 或门:输入为第一个与门和第二个与门的输出,输出为表达式的结果。
5. 实现结果如下:
+----+ +----+ | A | | B |--+ +----+ +----+ | | | +----+ | +-+---+--------| AND|--+ | | | +----+ | | | | | | | | | | | +----+ +----+ | | | | +----+ +----+ | B’ |----+ | + | | | | | | C | | D | +----+ | +----+ | | | | +----+ +----+ | | | | | +-------[ AND ]-+ | | | +----+ +----+ +-|-|-|------+ | A’ |--+ | + |--| | | | | +----+ | +----+ | | | | | | | | | | +----|-+ +--------[ AND ]-| | | | | | | | | +-|----+ +--|-|-+ | | | | | | | +-----+ | | +--|-+ | | | +-----+ | | +-------[OR]