三百三十三节 分类机的运用(第2/2页)
里已经有了一个大致的思路,不过今天他要以此为例给学生们上一节课。
这其实已经涉及到了计算机的核心原理。他要的并不是简单的操作员,而是能实际运用的程序员。
“今天,我们从理论上来分析一下,我们的分类机能解决什么样的问题,不能解决什么样的问题。”
“首先,排序。毫无疑问,这个问题是可以解决的,我们把10个读卡单元上的读卡触辊对准同一列的09,则卡片就会按照这一列的数字被推送到10个卡袋中,手工把卡片重新合成一叠时,这些卡片就是按这一列数字的大小排序的了。”
“其次,单条件分类。把所有卡片分为男性和女性两叠。这个完全可以完成,只需要打开1个读卡单元,对准性别列的0孔,性别为0,也就是女性,会被推入卡袋,男性则不会。”
“第三,多条件分类。这就需要具体分析了。我给你们出几个问题,你们想一下怎么用分类机完成。第一个问题,假设我们现在有整个东亚地区的户籍卡片,我要找出海南临高加来公社的卡片,该如何操作羽之,你说一下。”
“让17号读卡单元依次筛选出户籍所在地为1001014的卡片。”钱羽之回答道。
“正确。加奈,第二个问题,我依然有整个东亚地区的户籍卡片,现在想找出三亚大区除奴隶以外的卡片,该如何操作”
“三亚大区包括两个县级单位,三亚榆林,代码10011,三亚田独,代码10012,其下属奴隶区代码为1001299。”
“让14号读卡单元依次筛选出户籍所在地前4位为1001的卡片;然后让5号读卡单元把户籍所在地第5位为1的卡片推入5号卡袋,这些是三亚榆林的卡片;让6号读卡单元把户籍所在地的第5位不是2的卡片推入6号卡袋,此时机器上剩余的是三亚田独的卡片;让7号读卡单元把户籍所在地第6位不为9的卡片推入7号卡袋,这些是三亚田独1189公社的卡片;让8号读卡单元把户籍所在地第7位不为9的卡片推入8号卡袋,这些是三亚田独9098公社的卡片,此时机器上剩余的就是三亚田独的奴隶卡片了。合并5号、7号、8号卡袋的卡片即为所要的结果。”李加奈考虑了半天才回答。
“很好,加奈,正确。”冯诺有点意外。
“冯珊,现在我有临高的全部户籍卡片,一,找出住在十三村和百仞公社的姓名为刘四的人;二,找出原籍为福建和海南的人。你试试这两个问题。”
“这两个问题都不能解决。”冯珊想了一下后回答道。
“为什么”
“原因不同,第一个问题不能解决是因为读卡单元不够。”冯珊说。
“要确保卡片上的姓名是“刘四”,需要确保卡片上存储姓名的列是“刘四”的8位区位码,这需要8个读卡单元排除不符合条件的卡片,可以说,到达第9个读卡单元的所有卡片,姓名都是“刘四”;”
“但是,此时分类机只剩下两个读卡单元了,百仞公社是11,十三村是18。可以用9号读卡单元把户籍所在地的第6位公社不为1的卡片排除,此时机器上剩余的是1119公社的刘四。其中,可以用10号读卡单元把第7位为1的卡片推入卡袋,这是百仞公社的刘四,但不足以把十三村的刘四从剩余卡片中分类出来了。所以这个应用不能被完成。”
“不过,如果分类机上再有一个读卡单元,这个应用就可以解决了。”
“嗯,不错。第二个问题呢”
“第二个问题并未用到所有读卡单元,而是我们现在的分类机从设计上是不能解决的。”
“说一说。”
“原籍海南,代码为100,原籍福建,代码为122。我们可以首先用1号读卡单元选出户籍所在地第1位为1的卡片。但是之后如果我们选择推出第2位为0的卡片,则就不能继续筛选第3位也是0的卡片,会导致海南100与台湾101、济州岛102的卡片无法再分离;如果我们选择推出第2位不为0的卡片,则会导致福建的卡片被推入卡袋,无法进一步与其他卡片分离。”
“很好。这就是钟首长说的不能做或运算的问题。他说得还比较笼统,我们现在从理论上分析一下,为什么这个问题我们解决不了。”冯诺走到黑板前说道。
“所谓理论上的分析,就要把像之前我问你们的那些一个个具体的问题,抽象成一个一般的问题进行研究。”
“我们要找任何卡片,总有一系列的条件对目标卡片进行描述,这一系列条件,我们叫做命题。这些条件反应在筛选手段上,就是穿孔卡片上的某个孔是否穿孔。注意,也就是说,每个命题存在两种可能性,是和否,我们称之为真、假。”
“现在我们有了两个概念,命题、真假。最终,一张卡片,是不是我们所要的卡片,往往有许多条件共同限定,每个条件是一个命题,那么我们的最终目标,就是由许多命题合成的一个新命题,我们可以称之为复合命题,组成复合命题的每项条件,可称为简单命题。自然,复合命题也有真假。”
他在黑板上写上命题、真假、复合命题、简单命题。
------------------------------
下次更新第七卷两广攻略篇60节 ,请牢记:,免费最快更新无防盗无防盗