在这关中我们学会了连接导线,把输入与输出连接在一起即可。
本关最终答案
我们先了解什么是真值表,它由输入和输出构成,它展示的是当电路的输入是什么,对应的输出是什么。
我们只需要开关左上角的输入,查看输出的结果,填写真值表,即可。比如我们先把两个都调为红色,发现结果是绿色,则在输出里的第一列填写绿色。
边测试边填写,理解与非门的原理,理解真值表是什么,填写完后即可过关。
本关最终答案
这关要我们构造一个非门。通过观察下方真值表,我们可以看出:非门就是把输入结果取反,然后再输出。输入红就输出绿,输入绿就输出红。
我们使用上一关的与非门,如此连接。
本关最终答案 我们可以看到,当输入端输入绿色,与非门的两端就都是绿色。根据与非门的性质“当两路输入均为绿色则输出红色”,也就做到了反转。那么如果输入端输出的是红色,与非门的两端就都是红色。根据与非门的性质“其余情况全部输出绿色”,此时输出的就会是绿色,也做到了反转。
这关要我们构造一个与门。通过观察下方真值表,我们可以看出与门的性质:当两端输入都是绿,就输出绿(其余情况都输出红)。
我们如此搭建:
与非门(NAND)的性质我们已经讲过两次:两端都是绿,输出红。 我们再来看一下与门的性质:两端都是绿,输出绿。
我们可以发现,与非门和与门在判断条件上是一样的,而输出的结果刚好相反。我们可以看一下上方真值表,其实“预期输出”和“当前输出”也是刚好相反。那么我们就可以在电路上加一个非门,将结果反转。
本关最终答案
关卡解析
这关的要求是做一个或门。观察上方真值表,我们可以得知或门的性质:只要有一个绿,就输出绿。
本关最终答案 我们在与非门的基础上,使用非门将输入反转,就会得到或门。这是为什么呢?
来举个例子,我们在上面将与非门的左侧加上非门,根据德·摩根定律的第一条,即对输入取反,我们观察NAND和OR的真值表,可以发现它们的输出确实是左右翻转的对称关系。我们在这关中能从与非门(NAND)获得或门(OR),正是应用了德·摩根定律。
请确保你理解了德·摩根定律。
让我们再次请出德·摩根,帮助我们分析。
这关我们的材料有与非门(NAND)和非门(N),我们需要得到的是或非门(NOR),我们观察德·摩根定律,发现NAND和NOR是对角的关系(NAND在左下角,NOR在右上角)。那么我们如果想要从NAND获得NOR,其实就简单了,只需要“既对输入取反,又对输出取反”,即在电路的两侧都加上非门。
本关最终答案
这关要求我们制造一个不管怎样都输出绿色的电路。我认为应该有多种解决方式,这是我的方法:
本关最终答案 两条路,A没有非门,B有非门。这样,当输入是绿色,A就是绿色,当时如是红色,B就是绿色,保证了总有一条路是绿色的。在后面加入一个或门,根据或门的性质,只要有一个是绿,就是绿,就可以保证结果一定是绿。
于此同时,低电平(OFF)也会加入,它也没有输入端,不管怎样都会一直输出红色。
这关主要是教会我们一种新的思路,反向思考问题。要求我们只在第二刻输出绿。
我们观察第二刻,发现这道题其实是这样的:“只有当输入1是绿,且输入2是红时,输出绿,否则输出红。”据此,我做出了这样的电路:
本关最终答案 其实这里的思路有点像编程里的判断:
这关的难度有所提高,要求我们制造出异或门(XOR),我们观察真值表:
结合真值表和“异或门”这个名字,我们可以得知异或门的性质:如果两个输入不一样,就输出绿色。这也就是为什么名字里有“异”这个字。我们来思考一下,如果想让两个输入不一样,那么就至少得有一个绿色,所以我们先用或门来进行判断是否至少有一个是绿色。
我们发现只有第四刻是错误的,我们需要排除两个都是绿这种情况。我们在输出2上增加一条支路,在上面加入了一个非门,并且对此结果和或门产生的结果进行一个与门判断,就变成了“输入1和输入2至少一个为绿,并且输入2不是绿时,输出绿”。
在这种情况下运行,我们发现第四刻被修复了,但是第三刻又出了问题。“输入1和输入2至少一个为绿,并且输入2不是绿时,输出绿”其实是不全面的,我们还需要一个逻辑:“输入1和输入2至少一个为绿,并且输入1不是绿时,输出也是绿”,这样才能确保第三刻的情况也被考虑到。
到这里,我认为此题其实有不止一种解题方式,但是我只找到一种——将电路翻一倍。
我们把原来的电路上下翻转一下,得到一个新的电路,此电路可以判断“输入1和输入2至少一个为绿,并且输入1不是绿时,输出也是绿”,然后我们将两个电路合起来,再用一个或门连接:
本关最终答案 这就是我们这关最终的电路,也就是异或门。
我们先判断其中两个是否有绿色,获得的结果再和第三个判断是否有绿色,即可。
本关最终答案
三路与门,顾名思义就是有三个输入端的与门。它的性质和与门类似:“三个都是绿,就输出绿”。其实我们只要把上一关的或门换成与门即可。先判断输入1和输入2,判断的结果在和输入3做判断。
本关最终答案
其实本关也可以从另一个思考角度出发,即德·摩根定律。如果想把输出结果取反,需要在电路的右侧加非门。
本关最终答案
以下三章为《图灵完备 Turing Complete》游戏手把手教程(教程原创为知乎:淘气喵w,特此说明) 第一章:基础逻辑电路 第二章:算术运算和存储器 第三章:处理器架构