一份让理科生颤抖,让文科生流泪的蛋疼试卷(附答案详解)-1

诸葛草帽|一份让理科生颤抖,让文科生流泪的蛋疼试卷(附答案详解)

从A弦小筑那里看到一份让理科生颤抖,让文科生流泪的蛋疼试卷(附答案详解),原文:非常有趣的一篇博文,来源繁杂,放在文末注明。最早的博文题目是:如果要我出程设试题。应该可以称得上是一套神题了,诸葛草帽转载过来和大家一起分享,试试你能够答出来多少道?

一,选择题(皆为单选):


1,以下谁是二进制思想的最早提出者?
a,伏羲;b,姬昌;c,莱布尼茨;d,柏拉图。
答案: a,伏羲
详解: 伏羲创造了八卦阵,亦称先天八卦。八卦阵在国内被普遍称为最早的二进制记录制:阳爻(—)为1,阴爻(--)为0,八卦刚好记录了三位二进制数的8种组合。不过也有人说八卦的基础并不是二进制[1],在数学上属于八阶矩阵云云。姬昌创造“文王八卦”,亦称后天八卦。莱布尼茨是二进制的开拓者,柏拉图跟二进制没啥关系,勉强扯得上联系的是柏拉图主义,被分类而形而上学的二元论。
根据英文维基记述,大约在公元前5至公元2世纪,印度诗人Pingala著述了数学描述音韵方法,并且对二进制进行了描述。之后是邵雍在《皇极经世》中记载了八卦图样(最早的八卦是无图无真相的——笔者注),才有了先天八卦图的流传。关于莱布尼兹在1679年创造了现代二进制系统的时候,维基上是这样说的:作为一个中国迷,莱布尼茨是在听说邵雍的八卦阵后,发现这个图形正好奇妙地对应了二进制的0到111111,并且称赞说这显示了中国人在此类数学哲学中的主要成就。
【实际上认真说这题应该无正确答案。】

2,以下哪个概念和公孙龙的《指物论》中的“指”字含义相近?
a,变量;b,数组;c,对象;d,指针。
答案: a,变量
详解: 《指物论》是公孙龙在《汉书•艺文志》中残存的《公孙龙子》6篇中的第3篇,记述的是关于客观存在的实物和我们对它们认识的关系。在“指物论”中,“指”是名詞,指广义的认识(即名词性的符号——笔者注)。而通篇文章中的指有名词意有动词意,不过《指物论》指称理论的集中体现是所有的对象都是通过符号来称呼的,符号代表事物。而与此同时,指针是一个用来指示一个内存地址的计算机语言的变量,即指针就是地址,可以理解为指针是变量的一个真子集。
变量与“指”的共通点就是:对某个存在(Object,对象)赋予一个可以指称它的名词(Refer)。
PS:数组就是一堆变量的集合

3,蔺相如,司马相如;魏无忌,长孙无忌。下列哪一组对应关系与此类似?
a,PHP,Python;b,JSP,servlet;c,java,javascript;d,C,C++。
答案: c,Java,Javascript
详解: 蔺相如(前329年—前259年),战国时赵国上卿;司马相如(约前179年—???),字长卿,汉族,蜀郡(今四川省成都人)。魏无忌(?-前243),魏昭王少子,安釐王的异母弟,战国时期魏国著名的军事家。;长孙无忌(约597年-659年),字辅机,河南省洛阳人。共通点的话,就是名字虽然都有相似的地方,但是却完全不是一码事,谁也不挨着谁。
PHP是在前端服务器执行使用的脚本语言,Python是程序开发使用的面向对象的程序设计语言。JSP是动态网页技术标准,servlet是服务器端的Java应用程序。Java是一种程序设计语言,Javascript是面向对象的动态类型的区分大小写的客户端脚本语言。C++最早作为C的增强版,现在则是相互比较独立的两种编程语言。
总的来说,c 选项的相似程度更高一些。

4,秦始皇吞并六国采用了以下哪种算法思想?
a,递归;b,分治;c,迭代;d,模拟。
答案: b,分治
详解: 秦始皇主要的吞并方法是:远交近攻,逐个击破,包括分化离间、连横的策略。
递归指的是一个过程:函数不断引用自身,直到引用的对象已知。分治,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题。迭代是通过从一个初始估计出发寻找一系列近似解来解决问题的过程,为实现这一过程所使用的方法统称为迭代法。迭代算法是用计算机解决问题的一种基本方法。让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。模拟是用计算机程序将原本的事务或流程,予以系统化与公式化,产生可重现预期结果。

5,雅典王子忒修斯勇闯克里特岛斩杀米诺牛的时候采用了以下哪种算法?
a,动态规划;b,穷举;c,记忆化搜索;d,Dijkstra算法。
答案: b,穷举
详解: 动态规划是一种在数学和计算机科学中使用的,用于求解包含重叠子问题的最优化问题的方法。穷举就是根据某一公式(一般是递推)列出所有可能的组合并验证是否为所需解。记忆化搜索的实质是动态规划,效率也和动态规划接近,形式是搜索,简单直观,代码也容易编写,不需要进行什么拓扑排序。Dijkstra算法解决的是有向图中任意两个顶点之间的最短路径问题。
而这段传说是忒修斯作为被进贡童男童女中的一员,前往克里特岛的迷宫深处讨伐米诺陶洛斯(半人半牛的怪物,所以人赠昵称米诺牛),在克里特岛遇到了美丽的公主阿里阿德涅,公主对他一见倾心而赠与线团以便他可以离开迷宫。
关于忒修斯是如何抵达迷宫中央斩杀米诺牛的,维基中是这样记录的:在忒修斯进入迷宫之后,他解开了线团的一端并系在门把上,然后将为了躲避门卫而藏起来的剑从衣服里拿出来挥舞。忒修斯跟着阿里阿德涅公主给出的代达罗斯的指示,一直向前走,绝不转弯。忒修斯来到迷宫中央并接近沉睡中的米诺陶洛斯。怪兽苏醒并开始了一场恶斗。忒修斯用他的力量制服了怪兽,并用利剑刺穿对方的喉咙。
根据所有选项和传说描述似乎没有一个是相符的,但是在逻辑学上有一个术语叫“阿里阿德涅的线”,也就是穷举法。

6,印度电影《宝莱坞机器人之恋》中的机器人七弟采用的智能算法最有可能是以下哪一种?
a,神经网络;b,遗传算法;c,模拟退火;d,穷举算法。
答案: a,神经网络
详解: 没看过电影的笔者悲剧了,只能在豆瓣上看了一下影评,然后下了一个字幕文件[7],在第876句台词的时候,开发七弟的博士说“你们了解七弟的神经模式吗”。
七弟在经过简单学习之后就有了完全可以通过图灵测试的能力,算是比较典型的学习型人工智能,神经网络作为一种运算模型,而其网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。
PS:遗传算法作为一种最优搜索算法,对于一个最优化问题,一定数量的候选解(称为个体)的抽象表示(称为染色体)的种群向更好的解进化。

7,《公孙龙子》记载:“齐王之谓尹文曰:‘寡人甚好士,以齐国无士,何也?’尹文曰:‘愿闻大王之所谓士者。’齐王无以应。”这说明了齐王:
a,昏庸无道;b,是个结巴;c,不会下定义;d,不会定义自己的需求。
答案: d,不会定义自己的需求
详解: 齐王问尹文说:“寡人特别喜欢士,但是齐国没有士,怎么办?”尹文说:“想听听大王所谓的士是什么。”齐王不知道要怎么回答。(定义了自己想要的人是“士”,但是无法定义“士”)

8,惠施曾提出过“卵有毛”的命题,以下哪一项是导致这个错误命题的原因:
a,混淆了命名空间;b,引入了错误的包;c,衍生类未重载;d,调用了危险的指针。
答案: c,衍生类未重载
详解: 卵有毛”这个命题如今就只剩这个名字了,出自《庄子•天下篇》。关于惠施本人的著作,则无存。“卵有毛”的大意就是,蛋能孵出鸡,鸡有毛,所以蛋有毛(这里的蛋严格定义为尚未开始分化的蛋)。
所给的四个选项是分别把毛、鸡和蛋(在蛋中的鸡)视为了不同的属性、类或包,蛋是不具有“毛”的属性(或类、子类)的,把这样的思路分别还原到四个选项中。命名空间是区别同名不同指的标识符所用,和题述无关。引入了错误的包实际上其中类并未被真正编译。衍生类未重载,是指将蛋视为鸡的子类的时候,其属性的变化并未得以体现(题述中实际是反向操作了)。

9,下面哪种面向对象的方法可以让你变得富有?
a,继承;b,封装;c,多态;d,抽象。
答案: a,继承
详解: 继承可以继承父类的属性和行为。封装是只提供接口并隐藏内部过程的行为。多态是指因继承产生的相关不同类,但是因为我没有多人让我继承,我也没有兄弟姐妹(就算有,他们是否富有也与我无关)。抽象是一种简化复杂现实问题的途径。简单来说就是富二代了…

10,明朝时期张居正改革的一条鞭法的主要思想是:
a,面向过程;b,万物皆数;c,统一接口;d,泛型编程。
答案: c,统一接口
详解: 一条鞭法的主要思想是“税以银征收”,取消了原本的田赋、力役和其他杂税,促进自然经济的瓦解和商品经济的发展。
面向过程是指以过程为中心的编程思想,形成模块化特点。万物皆数是毕达哥拉斯学派的数学哲学理念(特指有理数),属于世界观的一种。泛型编程是一种语言机制,能够帮助实现一个通用的标准容器库。所谓通用的标准容器库,就是要能够做到,比如用一个List类存放所有可能类型的对象这样的事;泛型编程让你编写完全一般化并可重复使用的算法,其效率与针对某特定数据类型而设计的算法相同。泛型即是指具有在多种数据类型上皆可操作的含意,与模板有些相似。
一条鞭法的主要思想并不是以征税过程为中心的思想,同时也不是在多种类型上的操作。

Write a comment

Comments: 2
  • #1

    agrace-era (Friday, 17 June 2011 23:05)

    额。。哥哥可不可以给一份像你这样的导航代码啊。。为什么我弄了很多次都不行啊。。好纠结啊!!我邮箱:taotao_l@126.com

  • #2

    诸葛草帽 (Saturday, 18 June 2011 08:13)

    @agrace-era:当然没有问题,不知道你需要的是我网站顶部的导航栏代码还是底部的导航栏代码?