雲計算

带你读《计算思维导论》之一:绪论

计算机基础课程系列教材
点击查看第二章
点击查看第三章
计算思维导论
image.png
万珊珊 吕 橙 邱李华 李敏杰 等编著




前  言
社会信息化进程正以人们无法预测的速度突飞猛进地发展。信息技术的发展和日益丰富的社会需求对高校的计算机教育提出了新的挑战,对当代大学生计算机能力的培养提出了更高的要求。为了满足当前社会对计算机人才的需求,大学生计算机基础课程不应该只是注重技能和操作能力的培养,更应该着眼于培养和提高学生的计算机科学素养。目前,以“增强计算思维能力培养,提高计算机科学素养”为目的的大学计算机基础教育成为改革方向。针对普通院校非计算机专业学生的特点和培养定位,从培养学生建立计算思维理论体系、促进学生的计算思维与各专业思维交叉融合的角度出发,我们编写了这本适合非计算机专业学生的计算思维导论教材。
“计算思维导论”是学生进入大学的第一门计算机课程。针对课程学习对象的特点和课程的教学要求,本书设计了9个章节,分别是绪论、计算基础、计算平台、计算机网络基础、数据库技术基础、逻辑思维、问题求解、数据挖掘基础、计算机新技术。通过本书的学习,学生能够了解利用计算手段求解社会问题或自然问题的基本思维模式,理解网络的原理与构建,从而形成网络化思维,了解抽象复杂系统或复杂问题的基本思维模式,了解由问题到算法再到程序的问题求解思维模式,了解数据管理和挖掘的手段,并体验基于数据库和数据挖掘的数据运用方法,理解大数据、人工智能等技术的社会影响。
本书旨在为各专业学生今后设计、构造和应用各种计算系统求解学科问题奠定思维基础,帮助学生提高解读真实世界系统并解决复杂问题的能力。本书会为学生学习后续的计算机应用课程及其他相关课程奠定基础,并且为他们拥有走向工作岗位应具备的技能提供有力保障。
为了便于教师使用本教材,本书配有电子教案和实验指导书等教学资料,电子教案可从华章官网华章官网免费下载。本书适合作为普通高等学校非计算机专业计算机基础课程教材,也可作为成人高等教育或其他培训机构的培训教材或自学参考书。
本书源于大学计算机基础教育工作者的教学和实践,凝聚了一线任课教师的教学经验与科研成果。本书在编写过程中得到了机械工业出版社的大力支持和帮助,在此表示衷心的感谢。同时,对书末所列参考文献的作者表示谢意。
由于时间仓促,书中难免有不足之处,敬请读者批评指正。





编 者
2019年7月

第1章

绪  论

学习目标

  • 了解计算的含义和计算的形式。
  • 了解计算思维的概念,以及计算思维的特征和本质。
  • 了解计算机的产生及发展趋势。
  • 了解计算机的特点及其应用。

在网络助力下,数据积累趋向简单化、容易化,用于处理数据的计算工具变得无处不在、无事不用。计算是利用计算工具解决问题的过程,计算机科学是关于计算的科学,计算机科学家在用计算机解决问题时形成了特有的思维方式和解决方法,即计算思维。基于数据、计算和计算工具的计算思维成为人们认识和解决问题的重要思维方式之一。本章主要介绍计算思维的基本概念,以及与计算思维相关的计算工具和计算机。
1.1 计算的概念
1.1.1 什么是计算
从借助木棒数数做加减法到现在的智能机器人能够解决人类都难以解决的问题,这些都是计算。计算以各种形式存在于我们身边。计算实质上是对输入数据进行处理,得到一定输出结果的过程。抽象地说,计算就是从一个状态变换到另一个状态。
狭义的计算是关于具体的数的状态改变。人们对狭义计算的理解经历了初级、中级和高级阶段。初级阶段的计算是通过一些计算工具对数据进行简单直接的运算。比如,对于小学阶段的加减乘除四则运算,现在大家可以借助计算器、计算机进行数的简单计算。这种形式的计算不需要太多的设计技巧和人为的预处理。中级阶段的计算主要是推导计算。在这种计算中,需要对现有的数据进行处理,抽丝剥茧,得到计算结果。例如,公式的推导和证明。高级阶段的计算是指将输入数据按照一定的算法进行数据转换。例如,输入问题的已知条件,通过计算机执行算法,求得问题答案。2016年3月9日,AlphaGo大战李世石,AlphaGo的输入是人们预先给出的棋局和传统的博弈策略,它会根据李世石的棋局变化进行推理演算并决策落子,即完成状态的转换。这就是高级计算。
广义的计算是指大自然中存在的一切具有状态转换的过程。将所有自然界存在的过程都抽象为一种输入输出系统,所有自然界存在的变量都看作一种信息,那么广义计算就无处不在。比如,向平静的湖面投掷一枚小石子,那么瞬间就会看到因为石子的落下而溅起的水花和湖水泛起的微微涟漪,这相当于湖水对小石子完成的一次计算。
1.1.2 普适计算与计算无所不在
普适计算(pervasive computing),又称为普存计算、普及计算、遍布式计算、泛在计算。1991年,美国施乐帕克研究中心首席科学家马克·维瑟(Mark Weiser)在《Scientific American》杂志上发表了一篇文章“The Computer for the 21st Century”,正式提出了普适计算的概念。他认为从长远的观点来看计算机会消失,这种消失并不是计算机本身(物理器件)的消失,也不是计算机技术的消失,而是计算机发展的直接后果,是人类的心理作用,因为计算变得无所不在。当人类对某些事物掌握得足够好的时候,这些事物就会和人们的生活密不可分,人们就会慢慢察觉不到它的存在。因此,无所不在的计算体现为五个any:access any body;any thing;any-where;at any time;via any device。也就是说,任何人在任何时间、任何地点,通过任何设备访问任何事物。无所不在的计算强调把计算机嵌入到环境或日常工具中,而将人们的注意力集中在任务本身上。
普适计算也体现在我们的日常生活中。数字家庭通过家庭网关将宽带网络接入家庭,在家庭内部,手持设备、PC或者家用电器通过有线或者无线的方式连接到网络,从而提供了一个无缝、交互和普适计算的环境。通过这种普适计算的环境,人们能在任何地点、任何时候访问社区服务网络。例如,人们可以在社区网络里预订比赛的门票;可以对家庭电气设备进行自动诊断、自动定时、集中和远程控制,令生活更方便舒适;可以通过远程监控器监控家庭的情况,使生活更安全。
1.2 计算思维概述
计算思维作为一种与计算机及其特有的问题求解紧密相关的思维形式,让人们可以根据自己的工作和生活需要,在不同的层面上利用这种思维方法去解决问题。计算思维分为朴素的计算思维、狭义的计算思维和广义的计算思维,掌握计算思维的内涵有助于提高计算思维的能力。
1.2.1 计算思维的概念
2006年3月,美国卡内基·梅隆大学计算机科学系主任周以真(Jeannette M. Wing)教授(见图1-1)在美国计算机权威期刊《Com-m-unications of the ACM》上给出了计算思维(computational thinking)的概念。周以真教授认为,计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。更进一步,周以真对计算思维的概念做了如下阐释:计算思维就是把一个看起来困难的问题重新阐述成一个人们知道怎样解决的问题,如通过约简、嵌入、转化和仿真的方法。












image.png

图1-1 周以真教授

国际教育技术协会(ISTE)和计算机科学教师协会(CSTA)2011年给计算思维下了一个可操作性定义,即计算思维是一个问题解决的过程,该过程具有以下特点:
1)拟定问题,并能够借助计算机和其他工具解决问题;
2)符合逻辑地组织和分析数据;
3)通过抽象(如模型、仿真等)再现数据;
4)通过算法思想(一系列有序的步骤)支持自动化的解决方案;
5)分析可能的方案,找到最有效的方案,并且有效地应用这些方案和资源;
6)将该问题的求解过程进行推广,并移植到更广泛的问题中。
1.2.2 计算思维的本质
计算思维的本质是抽象(abstract)和自动化(automation)。它反映了计算的根本问题,即什么能被有效地自动执行。从操作层面上讲,计算思维就是要确定合适的抽象,选择合适的计算方法和计算工具去解释、执行该抽象。
计算工具利用某种方法求解问题的过程是自动执行的,即计算思维的自动化特征。计算思维建立在计算工具的能力和限制之上,由人控制机器自动执行。程序自动执行的特性使原本无法由人类完成的问题求解和系统设计成为可能。
抽象的概念在计算思维中非常重要,计算思维中的抽象有如下解释:
1)抽象是对事物的性质、状态及其变化过程(规律)进行符号化描述。与数学相比,计算思维中的抽象显然更为丰富,也更为复杂。数学抽象的特点是抛开现实事物的物理、化学和生物等特性,仅保留其量的关系和空间的形式。例如,将应用题“原来有五个苹果,吃掉两个后还剩下几个?”抽象表示成“5-2”,这里显然只是抽象了问题中的数量特性,完全忽略了苹果的颜色或吃法等不相关特性。一般意义上的抽象,就是指这种忽略研究对象具体的或无关的特性,抽取其一般的或相关的特性。而计算思维中的抽象却不仅仅如此。计算思维利用启发式推理来寻求解答,就是在不确定情况下进行规划、学习和调度。它的计算结果可能是一系列网页、一个赢得游戏的策略,或者一个反例。计算思维的数据类型也比较复杂,比如,堆栈是计算学科中一种常见的抽象数据类型,这种数据类型的基本操作是入栈、出栈等,而不是简单的加减法。算法也是一种抽象,所以不能将两种算法简单地放在一起去实现并行算法。另外,数学抽象通常要解决一个具体的问题,而计算思维是通过抽象实现对一类问题的系统描述,以保证计算对该类问题的有效性,即需要将思维从实例计算推演到类的普适计算。
2)计算思维的抽象有不同的抽象层次,即人们可以根据不同的抽象层次,有选择地忽视某些细节,进而控制系统的复杂性。这样,研究对象及其变换的抽象表示使问题具有可计算的复杂度。计算思维中的抽象最终是要能够机械地一步步自动执行。为了确保机械的自动化,需要在抽象过程中进行精确和严格的符号标记和建模,同时也要求计算机系统或软件系统生产厂家能够向公众提供各种不同抽象层次之间的翻译工具。作为抽象的较高层次,可以使用模型化方法,建立抽象水平较高的适当模型,然后依据抽象模型实现计算机表示和处理。
1.2.3 计算思维示例
下面通过几个计算思维示例了解计算思维的内涵特征。
1.七桥问题
哥尼斯堡城地处东普鲁士,位于普雷格尔河的两岸及河中心的两个岛上,城市各部分由七座桥与两岸连接起来。多年来,当地居民有一个愿望:从家里出去散步,能否恰好通过每座桥一次,再返回家中?但是任何人都没有找到这样一条理想的路径。
1736年,瑞士数学家欧拉(见图1-2)解决了这个问题,方法是把陆地抽象为一个点,用连接两个点的线段表示桥梁,将该问题抽象成点、线连接的数学问题(见图1-3),并证实:七桥问题的走法根本不存在。同时,他发表了“一笔画定理”:一个图形要想一笔画完必须符合两个条件,即图形是封闭连通的和图形中的奇点(与奇数条边相连的点)个数为0或2。欧拉的研究开创了数学上的新分支—拓扑学。很显然,七桥问题的解决过程体现了计算思维的抽象特征。

















image.png

图1-2 莱昂哈德·欧拉(Leonhard Euler)

image.png

图1-3 七桥问题与一笔画

2.取咖啡问题
在咖啡店,物品的摆放如图1-4所示,从左至右分别是杯盖、杯子、咖啡、糖、牛奶、咖啡壶。若想制作一杯咖啡,行动轨迹应该是:先取杯子,然后加入咖啡、糖、牛奶、水,再返回来,盖上杯盖。但这条路径很低效,需要折返取杯盖。如何提高效率呢?很显然,可以将杯盖放到水壶的右侧,构成流水线,这似乎不太符合逻辑,但从工程的角度来说,将杯盖放到水壶的右侧是最高效的方法。很显然,这体现了计算思维的自动化特征。

image.png

图1-4 取咖啡问题

3.求n!的阶乘问题
任何大于等于1的自然数n的阶乘表示方法可以有两种:
第一种:image.png

第二种:image.png

可以看出,不同思维下,阶乘有多种不同的解题方式。不同的抽象方法和自动求解思路体现了计算思维的灵活性和多样性特征。
1.2.4 计算思维的特征
1.计算思维是人的思维,而非机器的思维
计算思维是人类求解问题的一条途径,是人的思维,而非机器的思维。AlphaGo战胜了多名围棋大师,并不是机器具有思维,而是人类赋予了机器“人的思维”,从而实现了“只有想不到,没有做不到”的境界。所以,计算思维的重点是如何用计算机帮助我们解决问题,而非要人像计算机那样枯燥沉闷地思考问题。
2.计算思维是能力,而非技能
计算思维是分析和解决问题的能力,而非刻板的操作技能,因此重点是培养分析问题和解决问题的能力,而不是学习某一个软件的使用。
3.计算思维是概念化,而非程序化
计算机科学不仅是计算机编程。像计算机科学家那样去思维意味着不仅要进行计算机编程,还要求能够在抽象的多个层次上思维。所以,计算思维的重点是算法设计,即解决问题的方法和步骤,而不会涉及具体的编程。
4.计算思维是一种思想,而非人造品
目前,软、硬件等人造物以物理形式呈现在我们周围,并时时刻刻影响着我们的生活,但计算思维体现的是一种我们用以解决问题、管理日常生活、与他人交流和互动的与计算有关的思想。当计算思维真正融入人类活动的整体,不再表现为一种显式哲学时,就成为一种人类特有的思想。
1.2.5 计算思维的思维模式
计算思维产生的新思想、新方法使人们的思维模式发生转变。这些思维模式的改变反映在自然科学与工程以及社会经济与技术等各个学科领域。
计算思维中常用的思维模式举例如下:
1)分层思维。分层思维将一个大问题拆解成许多小问题或子问题。这些小问题更加容易被理解,也更容易被解决,从而使整个问题的求解简单化。
2)模式识别思维。模式识别是识别不同问题中的模式和趋势(共同点)的过程,帮助人们从以往的经验中得到规律并举一反三地运用到其他问题中。
3)流程思维。流程思维是一步步地解决问题的过程,它是较为传统的思维模式,但是通过流程建设,有助于问题求解的规范化和系统化。
4)抽象思维。抽象是从众多事物中抽取出共同的、本质的特征,而舍弃其非本质的特征。思维是人脑对客观现实概括和间接的反映,它反映的是事物的本质和事物间的规律性联系,包括逻辑思维和形象思维;抽象思维是理论化、系统化的世界观,是自然知识、社会知识、思维知识的概括和总结,是世界观和方法论的统一。
1.2.6 日常生活中的计算思维
人们在日常生活中的很多做法其实都和计算思维不谋而合,也可以说,计算思维从生活中吸收了很多有用的思想和方法,举例如下。
最短路径问题:如果你是邮递员,你会怎样投递物品呢?邮递员通常不会盲目地挨家挨户去投递,更不会随意投递,一般会规划好自己的投递路线,按照最短路径进行优化。
分类:如果你要在一堆文件中找一份重要资料,你首先会怎么做?一般不会先随机拿一份,若不是再随机拿另一份,更不会一份一份地找,而是会把文件按照内容先分类,然后在与资料相关的文件类中找。
背包问题:有一辆卡车运送物品到外地,能带走的物品有4种,每种物品的重量不同,价值不同,由于卡车能运送的重量有限,不能把所有的物品都拿走,那么如何才能让卡车运走的物品价值最高?这时可以把所有物品的组合列出来,如果卡车能装下某组合,并且该组合价值最高,就选择这种物品的运送方案。
查找:如果要在英汉词典中查找一个英文单词,读者不会从第一页开始一页一页地翻看,而是会根据字典是有序排列的事实,快速地定位单词词条。
回溯:人们在路上遗失了东西之后,会沿原路边往回走边寻找。在一个岔路口,人们会选择一条路走下去,如果最后发现此路上没有所找的东西就会原路返回,到岔路口选择另外一条路继续寻找。
缓冲:假如将学生用的教科书视为数据,上课视为对数据的处理,那么学生的书包就可以被视为缓冲存储。学生随身携带所有的教科书是不可能的,因此每天只能把当天要用的教科书放入书包,第二天再换新的教科书。
并发:比如有三门学科的作业,在写作业的时候,可以交替完成,即写A作业累了时,就换B作业或C作业。从宏观上看,ABC作业是并发完成的,即一天“同时”完成了三门功课;从微观上看,在同一时间点上,ABC作业又是各自独立、交替完成的。
博弈:经济学上有一个“海盗分金”模型,即5个海盗抢得100枚金币,他们按抽签的顺序依次提方案—首先由1号提出分配方案,然后由5人表决,超过半数人同意,方案才被通过,否则他将被扔入大海喂鲨鱼,以此类推。在“海盗分金”模型中,任何“分配者”想让自己的方案获得通过的关键是,事先考虑清楚“挑战者”的分配方案是什么,并用最小的代价获取最大的收益,拉拢“挑战者”分配方案中最不得意的人。“海盗分金”其实是一个高度简化和抽象的模型,体现了博弈的思想。
上述例子都涉及计算思维的应用。同样,在利用计算机解决问题的时候,应用计算思维的方法去设计求解,会提高问题求解的质量与效率。
1.3 计算工具与计算机
计算无处不在,计算工具是人们在计算或辅助计算时所用的器具。在浩瀚的历史长河中,计算工具经历了从简单到复杂、从低级到高级、从低速到高速、从功能单一到多功能化的过程。计算工具的发展以特有的方式体现了社会文明的进步和科学技术的飞速发展。当代的主流计算工具是计算机,计算机作为一种能自动、高速、精确地进行信息处理的电子设备,成为20世纪人类最伟大的发明之一。
1.3.1 计算机的产生
人类为了满足社会生产发展的需要,在不同的时期发明了各种计算工具。
在原始社会,人们曾使用树枝、石块等物品作为计数和计算的工具。到商代时,中国已采用十进制计数方法,这对世界科学和文化的发展起着不可估量的作用。我国在春秋战国时期有了算筹法的记载,算筹被普遍认为是人类最早的手动计算工具。中国南北朝时期的数学家祖冲之就是用算筹计算出圆周率在3.141 592 6和3.141 592 7之间,这一结果比西方早1100多年。在长期使用算筹的基础上,东汉时期,中国人又发明了算盘。由于算盘制作简单,价格便宜,珠算口诀便于记忆,运算又简便,所以在中国被普遍使用,并且陆续流传到了日本、朝鲜、美国和东南亚等国家和地区。
随着经济贸易的发展,以及金融业和航运业的日渐繁荣,需要大量复杂、繁重的计算,而且计算问题多与天文、航海有关,这就促使了计算工具的革新。1621年,英国数学家埃德蒙·冈特(Edmund Gunter)制造出了第一把对数计算尺,给数的乘除计算带来了方便。同年,英国数学家威廉·奥特瑞德(William Oughtred)在冈特计算尺的基础上发明了直尺计算尺,如图1-5所示。1622年,奥特瑞德根据对数表设计了计算尺,可执行加、减、乘、除、开方、三角函数、指数函数和对数函数的运算。直到20世纪70年代,计算尺由电子计算器替代。

































image.png

图1-5 奥特瑞德与直尺计算尺

生产的发展和科技的进步,继续推动着计算工具的发展。特别是齿轮传动装置技术的发展,为机械计算机的产生提供了必要的技术支持。1642年,法国数学家、物理学家布莱斯·帕斯卡(Blaise Pascal)研制出了世界上第一台机械式齿轮加法器,这是人类历史上第一台机械式计算工具,其原理对后来的计算工具产生了持久的影响。帕斯卡加法器是由齿轮组成、以发条为动力、通过转动齿轮来实现加减运算、用连杆实现进位的计算装置。1673年,德国数学家戈特弗里德·莱布尼兹(Gottfriend Leibniz)在帕斯卡研究的基础上增加了乘除法器,制成可以进行四则运算的机械式计算器,并实现了可以重复做加减运算,它的实现思想也是现代计算机做乘除运算所采用的办法。但是,以上这些计算器都不具备自动进行计算的功能。
受法国工程师约瑟夫·玛丽·雅卡尔(Joseph Marie Jacquard)发明的自动提花织布机的启发,英国数学家查尔斯·巴贝奇(Charles Babbage)提出了带有程序控制的通用数字计算机的基本设计思想,并于1822年设计了第一台差分机。巴贝奇差分机使用十进制系统,采用齿轮结构,能够预先安排完成一系列算术运算。1834年,巴贝奇设计了分析机,它具有输入、处理、存储、输出及控制5个基本装置,设想采用穿孔卡片来存储指令,并根据这些孔的特点来决定执行什么指令,进行自动运算,如图1-6所示。巴贝奇提出了几乎是完整的现代电子计算机的设计方案,但是受当时技术和资金的限制而失败。随着19世纪中期精密机械制造技术和工艺水平的提高,电磁学等学科也得到飞速发展。美国人霍华德·艾肯(Howard Aiken)采用机电方法来实现巴贝奇分析机的想法,并在1944年成功制造了自动数字计算机Mark I,从而使巴贝奇的梦想变成现实。Mark I作为世界上最早的通用型自动程序控制计算机之一,是计算机技术历史上的一个重大突破,如图1-7所示。

image.png

图1-6 巴贝奇和他的发明

image.png

图1-7 艾肯和Mark I

20世纪20年代以后,电子科学技术和电子工业迅速发展(如电子管、晶体管和集成电路相继诞生),为现代电子计算机的产生提供了物质基础和技术条件。
美国艾奥瓦州立大学的约翰·文森特·阿塔纳索夫(John Vincent Atanasoff)教授和他的研究生克里福特·贝瑞(Clifford Berry)于1942年10月研制出第一台完全采用真空管作为存储与运算器件的计算机—阿塔纳索夫–贝瑞计算机(Atanasoff-Berry Computer,ABC)。如图1-8所示。ABC计算机被认为是最早的电子管计算机。阿塔纳索夫在研制ABC计算机的过程中提出计算机设计的三条原则:使用二进制来实现数字运算,以保证精度;利用电子元件和技术实现控制、逻辑运算和算术运算,以保证计算速度;采用计算功能和存储功能相分离的结构。这三条原则对后来计算机的体系结构及逻辑设计有深远的影响。

image.png

图1-8 ABC计算机和它的发明者

任何事物的产生都是有起因的。同以往的许多重大发明一样,现代电子计算机的诞生是同军事上的迫切需要紧密相连的。战争的需要像一双强有力的巨手,给电子计算机的诞生铺平了道路。第二次世界大战期间,美国陆军军械部在马里兰州的阿伯丁设立了“弹道研究实验室”,该实验室每天要为陆军提供6张火力表,每张表要计算几百条弹道轨迹,而当时一个熟练的计算人员用台式计算器计算一条60秒的弹道就需要20多个小时,还常常出现计算错误。更为关键的是,由于美军进入非洲作战,土质带来的差别导致炮弹根本打不中目标,所以军方领导人命令弹道实验室重新编制射击表。时任弹道实验室的领导人赫尔曼·H. 戈德斯坦(Herman H. Goldstine)估算出,为某一型号、某一口径的火炮重新编制射击表,需要一个人用台式计算器不吃不喝工作4~5年才能完成。计算需求和计算能力之间的矛盾日益突出,作为数学家的戈德斯坦意识到了研制一种高速新型计算机的迫切性。于是,在戈德斯坦的推动和组织下,陆军军械部着手与宾夕法尼亚大学莫尔电气工程学院联合开发电子计算机。1942年,莫尔电气工程学院的两位青年学者—36岁的副教授约翰·莫克利(John Mauchly)和24岁的工程师约翰·普雷斯伯·埃克特(John Presper Eckert)(见图1-9)提交了一份研制电子计算机的设计方案—高速电子管计算装置的使用。他们建议用电子管作为主要元件制造一台前所未有的计算机,从而把弹道计算的效率提高成百上千倍。1943年7月,项目正式开始实施。莫尔电气工程学院组织了50名技术人员进行该项研究,莫克利作为顾问负责总体设计,埃克特担任总工程师。军方与莫尔电气工程学院签订的协议是提供14万美元的研制经费,但后来合同被修改了12次,经费一直追加到约48.68万美元,相当于现在的1000多万美元。

image.png

图1-9 埃克特(左)和莫克利(右)

然而,为支援战争而赶制的机器没能在战争期间完成,直到1946年2月14日,这台标志着人类计算工具的历史性变革的电子计算机才研制成功,这台机器的名字叫ENIAC(Electronic Numerical Integrator And Calculator,电子数字积分计算机),如图1-10所示。ENIAC占地170 m2,重30 t,有18 000个电子管,功率为150 kW,运算速度为加法5000次/s或乘法400次/s。这比当时最快的继电器计算机的运算速度要快1000多倍。过去需要100多名工程师花费1年才能解决的计算问题,它只需要2个小时就能给出答案。

image.png

图1-10 世界上第一台电子计算机ENIAC

尽管ENIAC有许多不足之处,如使用十进制、不能存储程序、体积庞大、耗电量大、电子元件寿命短、故障率高、操作困难等,但它毕竟是世界上第一台真正意义上的数字电子计算机。因此,ENIAC的问世具有划时代的意义,它揭开了现代计算机时代的序幕,标志着人类计算工具的历史性变革,为提高计算速度开辟了极为广阔的前景,也标志着人类文明的一个新起点。ENIAC的产生历程也充分表明,一项重大发明只有是社会发展所迫切需要的,才能脱颖而出。反之,如果社会没有这方面的需求,多么美妙的设想也逃脱不掉被历史淘汰的命运。电子计算机制造技术在20世纪30年代已经成熟,而相关设备在20世纪40年代才真正制造出来,也正是这个原因。
1944年,美籍匈牙利数学家约翰·冯·诺依曼(John von Neumann)(见图1-11)参加的原子弹研制项目受阻,原因同样是遇到了极为困难的计算问题。诺依曼在一次偶然的机会得知ENIAC的研制计划,便投身到这一宏伟的事业中。诺依曼与埃克特、莫克利等人讨论ENIAC的不足,于1945年6月拟定了存储程序式电子计算机方案EDVAC(Electronic Discrete Variable Automatic Computer,离散变量自动电子计算机)。该方案指出了计算机应由五部分构成,提出了程序存储的思想,成为电子计算机设计的基本原则。根据这些原理制造的计算机称为冯·诺依曼结构计算机。由于冯·诺依曼的突出贡献,他被西方人称为计算机之父。冯·诺依曼等人于1952年研制成功EDVAC。EDVAC采用二进制,使用了3600个电子管,占地面积不足ENIAC的1/3。而世界上首台存储程序式电子计算机EDSAC(Electronic Delay Storage Automatic Calculator,电子延迟存储自动计算机)是由剑桥大学的莫里斯·V. 威尔克斯(Maurice V. Wilkes)教授在冯·诺依曼EDVAC草案的启发下,于1949年5月研制成功的。

image.png

图1-11 约翰·冯·诺依曼

1.3.2 计算机的分代与分类
自1946年电子计算机问世至今,计算机在制作工艺、元器件、软件、应用领域等各方面都有飞速的发展。根据计算机所采用的逻辑元件不同,一般将计算机的发展分成5个阶段,每一阶段在技术上都有崭新的突破,在性能上都有质的飞跃。
第一代计算机:电子管计算机时代(1946—1957年)。逻辑元件采用电子管,内存储器采用水银延迟线,外存储器有纸带、卡片、磁带和磁鼓等。软件使用机器语言或汇编语言编写程序。它主要用于军事和科学计算。特点是体积大、耗能高、速度慢(一般每秒计算数千次至数万次)、存储容量小、价格昂贵。其代表机型有EDVAC、IBM 704等。
第二代计算机:晶体管计算机时代(1958—1964年)。晶体管的发明改变了计算机的构建方式。IBM公司在1958年制造出第一台全部使用晶体管的计算机RCA501。逻辑元件采用晶体管,从而使得计算机的能耗降低,寿命延长,运算速度提高(一般每秒为数十万次,甚至可高达300万次),可靠性提高,价格不断下降。第二代计算机的内存储器使用磁芯,外存储器使用磁盘和磁带。软件方面出现了一系列高级程序设计语言(如FORTRAN、COBOL等),并提出了操作系统的概念。计算机设计出现了系列化的思想,应用范围也从军事与科学计算方面延伸到工程设计、数据处理、气象及事务管理科学研究领域。与第一代计算机相比,第二代计算机在体积、成本、重量、功耗、速度以及可靠性等方面有了较大的提高。其代表机型有IBM 7090、ATLAS等。
第三代计算机:中、小规模集成电路计算机时代(1965—1970年)。逻辑元件采用中、小规模集成电路(Integrated Circuit,IC)。一块小小的硅片上,可以集成上百万个电子器件,如晶体管、电阻器或电容器等,因此常把它称为芯片。主存储器开始使用半导体存储器,外存储器使用磁盘和磁带。在这个阶段,出现了键盘和显示器。软件方面出现了操作系统以及结构化、模块化程序设计方法。软硬件都向标准化、多样化、通用化、系列化的方向发展。计算机应用开始广泛扩展到文字处理、图形处理等领域。其代表机型有IBM 360和CDC 7600。
第四代计算机:大规模、超大规模集成电路计算机时代(1971年至今)。第四代计算机以英特尔公司1971年研制的第一台微处理器Intel 4004为标志,这一芯片集成了2250个晶体管,其功能相当于ENIAC,标志着大规模集成电路时代的到来,为微型计算机的出现奠定了基础。中央处理器(Central Process Unit,CPU)高度集成化是这一代计算机的主要特征。集成度高的半导体存储器完全代替了磁芯存储器,外存的存储速度和存储容量得到大幅度提升。外围设备有了很大发展,出现了光字符阅读器(OCR)、扫描仪、激光打印机和各种绘图仪。计算机体积、重量、功耗、价格不断下降,而性能、速度和可靠性不断提高,操作系统也在不断完善,数据库管理系统进一步发展。计算机的应用范围遍及网络、天气预报和多媒体等领域。
第五代计算机:第五代计算机是为适应未来社会信息化的要求而提出的,与前四代计算机有着本质的区别,是计算机发展史上的一次重要变革。第五代计算机是把信息采集、存储、处理、通信同人工智能结合在一起的智能计算机系统。它主要面向知识处理,能进行并行计算,具有形式化推理、联想、学习和解释的能力,能够帮助人们进行判断和决策、开拓未知领域和获得新的知识。人机之间可以直接通过自然语言(声音、文字)或图形、图像交流和传输信息。1981年10月,日本首先向世界宣告开始研制第五代计算机。后来,美国等国家都先后投入巨资来研制第五代计算机。目前,第五代计算机的研制虽然取得了一定的研究成果,但至今仍没有研制出具备智能特点的计算机。第五代计算机的研制对于人类又是一个巨大的挑战。
计算机发展的“分代”代表了计算机在时间轴上的纵向发展历程,而“分类”可用来说明计算机的横向发展。计算机的种类很多,分类方法也有多种。目前,最常用的一种分类方法是,1989年11月美国电气和电子工程师学会(IEEE)根据当时计算机的性能及发展趋势,按照运算速度、字长、存储性能等综合指标,将计算机分为巨型机、大型机、小型机、工作站、微型计算机和嵌入式计算机。
1.巨型机
巨型机(super computer)也称为超级计算机,简称为超算。在所有的计算机类型中,巨型机占地面积最大,价格最贵,功能最强,运算速度最快。巨型机的研制水平、生产能力及应用程度已经成为衡量一个国家的科技水平、经济发展、军事实力的象征。巨型机主要用于尖端科学领域,特别是国防领域。我国在1983年、1992年、1997年由国防科技大学计算机学院分别推出了银河Ⅰ(每秒一亿次)、银河Ⅱ(每秒十亿次)、银河Ⅲ(每秒百亿次)计算机。银河系列计算机的推出标志着中国成为继美国、日本之后第三个生产巨型机的国家。
2019年6月18日,在国际TOP500组织发布的全球超级计算机500强榜单中,部署在美国能源部旗下的橡树岭国家实验室及利弗莫尔实验室的两台超级计算机“顶点”和“山脊”占据前两位,中国超算“神威太湖之光”(见图1-12a)和“天河二号”分列三、四名。“顶点”的性能峰值达到148.6 PFlops,创下了新的超算记录。从上榜的超算总数来看,中国以219台上榜系统数位列第一位,美国以116台排第二位。不过,在总计算力上,美国以占据38.4%计算性能的表现保持优势,中国尽管占据43.8%的系统份额,但在计算力上的占比只有29.9%。从超级计算机选择处理器的角度来看,英特尔继续在TOP500榜单中占据主导地位,该公司的芯片出现在95.6%的超算系统之中。另有7台超算系统选择了IBM Power系列处理器,3台系统选择了AMD处理器。
2.大型机
大型机(mainframe computer)的主机非常庞大,采用了多处理、并行处理等技术,通常具备超大的内存、海量的存储器,使用专用的操作系统和应用软件。大型机大量使用冗余等技术确保其安全性及稳定性,具有很强的管理和处理数据的能力,主要用于大企业、银行、高校和科研院所。目前,生产大型机的企业有IBM、UNISYS等(见图1-12b)。
3.小型机
小型机(minicomputer)是20世纪70年代由美国的DEC(数字设备公司)首先开发的一种高性能计算产品。小型机具备高可靠性、高可用性、高服务性等特性,而且结构简单、价格介于普通服务器和大型主机之间、使用和维护方便,深受中小企业欢迎。当前,生产小型机的厂家主要有IBM、HP等公司(见图1-12c)。
4.工作站
工作站(workstation)是一种高档微型机系统,具有较高的运算速度,以及大型机和小型机的多任务、多用户能力,操作方便以及拥有良好的交互界面。其最突出的特点是具有很强的图形交互能力,因此在工程领域(特别是图像处理、计算机辅助设计领域)得到迅速发展。目前,许多厂商都推出了适合不同用户群体的工作站,如Sun公司的Sun系列工作站以及IBM、DELL、HP等厂家的工作站(见图1-12d)。
















image.png

图1-12 常见的计算机类型

5.微型计算机
微型计算机(microcomputer)简称微机,通常所说的个人计算机(Personal Computer,PC)也是指微机。1981年8月12日,IBM发布了其第一台PC—IBM 5150,开创了全新的微机时代(见图1-12e)。微机自产生以来,以设计先进、软件丰富、功能齐全、价格低廉、体积小等优势而受到广大用户的青睐。微型计算机的发展,极大地推动了计算机的普及应用。现在微型机除了台式机外,还有笔记本式、掌上型和手表型等多种类型。
6.嵌入式计算机
嵌入式计算机(embedded computer)是指嵌入到各种设备及应用产品内部的计算机系统。嵌入式计算机以应用为中心,软硬件可裁减,适合作为对功能、可靠性、成本、体积、功耗等综合性能有严格要求的专用计算机,如图1-13所示。嵌入式计算机系统由嵌入式硬件与嵌入式软件组成,它最早出现在20世纪60年代的各种武器控制中,用于军事指挥和通信。现在嵌入式系统已广泛应用到各种民用电器设备中,如掌上PDA、电视机顶盒、手机上网设备、数字电视、汽车、微波炉、数码照相机、家庭自动化系统、电梯、空调、自动售货机、消费电子设备、工业自动化仪表与医疗仪器等。
1.3.3 计算机的局限性
计算机发展至今,在硬件和软件方面依然存在诸多不足。对于以下几种情况,计算机是无法处理的。
(1)信息无法离散为二进制
比如在人类情感需求中,情感的体验从来都不是一种精确的量化感受,并且受各种不同因素的影响。这些不能数字量化的信息无法录入到计算机中,计算机更无法处理,即使强行离散化,计算机处理出来的数据也和现实相去甚远,意义不大。
(2)数据输入输出无法确定或数据范围无穷大
输入数据或输出数据一定要是确定的,且数据范围在计算机能显示的正常范围内,否则计算机无法正常显示这些信息。
(3)问题无法转化为无二义性问题或者问题无法在有限步骤内完成
问题的描述有二义性,会导致算法混乱,计算机因而会茫然无措,进而得出异常的信息。问题无法在有限步骤内完成则会导致计算机死机、瘫痪,出现故障。
1.3.4 计算机的发展趋势
计算机的未来充满了变数,性能的大幅度提高是毋庸置疑的,而且计算机的发展还越来越人性化,同时通用性与专业性并行发展。
当前的冯·诺依曼计算机主要朝着巨型化、微型化、网络化、多媒体化、智能化的方向发展。
巨型化主要是为了满足尖端科学技术的研究需要,提供更高速度、大存储容量和强功能的超大型计算机。微型化体现了当前微机相关领域的技术水平和生产工艺。计算机网络是现代通信技术与计算机技术相结合的产物,当前全球互联网用户已有38亿多,计算机功能及应用的网络化是一个必然的发展趋势。多媒体技术是指采用计算机综合处理数据、文字、图形图像、声音等多媒体信息,同时具有集成性和交互性。多媒体化的实质就是让人们利用计算机以更接近自然的方式交换信息。智能化是让计算机具有人工智能,它是建立在现代科学技术基础之上的综合性很强的边缘学科。智能化的目的是研究人的感觉、行为、思维过程的机理,让计算机来进行模拟,使计算机具备“视觉”“听觉”“语言”“行为”“思维”“逻辑推理”
“学习”“证明”等能力,形成智能型、超智能型计算机。人工智能的研究从本质上拓宽了计算机的能力,在某些方面可以越来越多地代替甚至超越人类的脑力劳动。
迄今为止,计算机都是按照冯·诺依曼的体系结构(即存储程序计算机)进行设计的。计算机工业的发展速度令人瞠目,然而硅芯片技术的高速发展也意味着硅技术越来越接近其物理极限。为此,世界各国的研究人员提出了新型计算机的构想,并加紧研究、开发新型计算机。从目前的研究状况来看,未来有可能在光子计算机、生物计算机、量子计算机、纳米计算机和神经网络计算机上实现质的飞越。
1.光子计算机
光子计算机是指利用光子代替半导体芯片中的电子、以光互连代替导线而制成的数字计算机,它使用不同波长的光表示不同的数据。光的并行、高速的本质决定了光子计算机的并行处理能力很强,具有超高运算速度。光子计算机还具有与人脑相似的容错性。1990年年初,美国贝尔实验室研制出了世界上第一台光子计算机,其运算速度比电子计算机快1000倍。当前,许多国家都投入巨资进行光子计算机的研究。随着现代光学与计算机技术、微电子技术相结合,在不久的将来,光子计算机可能会成为人类普遍的计算工具。
2. 生物计算机
生物计算机又称为分子计算机,它以生物芯片为主要原材料制造芯片。生物芯片是由生物工程技术产生的蛋白质分子构成的,它具有巨大的存储能力,如1m3的脱氧核糖核酸(DNA)溶液可存储1万亿的二进制数据,而且能以波的形式传送信息。生物计算机处理数据的速度比当今最快的巨型机还要快百万倍以上,而能量的消耗仅为普通计算机的十亿分之一。另外,由于蛋白质分子具有自我组合能力,因此生物计算机具有自我调节、自我修复和再生能力,更易于模拟人类大脑的功能。1983年,美国公布了研制生物计算机的设想之后,立即激起了发达国家的研制热潮。目前,在生物元件特别是在生物传感器的研制方面已取得不少实际成果,这将促使计算机、电子工程和生物工程这3个学科的专家通力合作,加快研究开发生物芯片。生物计算机一旦研制成功,将会在计算机领域引起一场划时代的革命。
3. 量子计算机
量子计算机是由美国阿贡国家实验室提出来的。量子计算机是基于量子效应开发的,它利用一种链状分子聚合物的特性来表示开与关的状态,利用激光脉冲来改变分子的状态,使信息沿着聚合物移动,从而进行运算。量子计算机中的数据用量子位存储。由于量子的叠加效应,一个量子位可以是0或1,也可以既存储0又存储1。与传统的电子计算机相比,量子计算机具有运算速度更快、存储容量更大、搜索功能更强和安全性能更高等优点。量子计算机使计算的概念焕然一新,这是量子计算机与其他计算机(如光子计算机和生物计算机等)的不同之处。量子计算机的研究已经取得了很大的进展。2013年6月,中国科学技术大学潘建伟院士领衔的量子光学和量子信息团队的陆朝阳、刘乃乐研究小组,在国际上首次成功实现了用量子计算机求解线性方程组的实验,标志着我国在光学量子计算领域保持着国际领先地位。2017年,潘建伟团队首次实现利用高品质量子点单光子源构建了量子计算原型机,并且演示了其超越经典电子计算机与晶体管计算机的计算能力,向真正的“量子计算”时代迈出了重要的一步。
4. 纳米计算机
“纳米”是一个计量单位,1 nm等于10-9 m,大约是氢原子直径的10倍。纳米技术是从20世纪80年代初迅速发展起来的新的前沿科研领域,最终目标是人类按照自己的意志直接操纵单个原子,制造出具有特定功能的产品。现在,纳米技术从微电子机械系统起步,把传感器、电动机和各种处理器都放在一个硅芯片上而构成一个系统。应用纳米技术研制的计算机内存芯片,其体积只不过如数百个原子大小,相当于人类头发直径的千分之一。纳米计算机不仅几乎不需要耗费任何能源,而且其性能要比今天的计算机强大许多倍。2013年9月26日,斯坦福大学宣布人类首台基于碳纳米晶体管技术的计算机已成功测试运行。该项实验的成功证明了人类有望在不远的将来摆脱当前的硅晶体技术,以生产新型计算机设备。
5. 神经网络计算机
神经网络计算机用简单的数据处理单元模拟人脑的神经元,从而模拟人脑的逻辑思维、记忆、推理、设计和分析等智能行为。神经网络计算机能模仿人类大脑的判断能力和适应能力,可并行处理多种数据,判断对象的性质与状态,并能采取相应的行动,而且可同时并行处理实时变化的大量数据,得出结论。神经网络计算机除了有许多处理器之外,还有类似神经的结点,每个结点与许多点相连。若把每一步运算分配给每台微处理器,它们同时运算,其信息处理速度和智能会大大提高。神经网络计算机的信息不是存储在存储器中,而是存储在神经元之间的联络网中。若有结点断裂,计算机仍有重建资料的能力,它还具有联想记忆、视觉和声音识别能力。
科学家对新型计算机的研制还有很多构想,无论是哪一种实现方法,都要经历漫长艰苦的研究工作。不过,我们相信,科学在发展,人类在进步,随着一代又一代科学家的不断努力,新型计算机与相关技术的研发和应用必将推动全球经济社会高速发展,实现人类发展史上的重大突破。
1.3.5 计算机的应用
计算机是当代最先进的一种计算工具,它的应用已遍及经济、政治、军事及社会生产生活的各个领域,为社会创造了巨大的效益。计算机的应用可归纳为以下几方面。
1. 科学计算
计算机最早应用于计算,计算机的名字也由此而来。在科学研究和工程技术中,利用计算机高速运算和大容量存储的能力,可进行各种复杂的、人工难以完成或根本无法完成的数值计算。例如,气象预报中卫星云图资料的分析计算,有数百个变元的高阶线性方程组的求解,航空及航天技术,高层建筑、地铁隧道的设计和建设,生物医学领域分子的组成和空间结构等,都需要求解各种复杂的方程式。
2. 数据处理
数据处理又称为信息处理,指对数字、字符、文字、声音、图形和图像等各种类型的数据进行收集、存储、分类、加工、排序、检索、打印和传送等工作。数据处理具有数据量大、输入输出频繁、时间性强等特点,一般不涉及复杂的数值计算。计算机的应用范围从数值计算到非数值计算,是计算机发展史上的一个飞跃。据统计,在计算机的所有应用中,数据处理方面的应用占3/4以上。数据处理是现代管理的基础,广泛地用于情报检索、统计、事务管理、生产管理自动化、决策系统、办公自动化等方面,由此也促生了很多数据管理系统。
3. 数据库应用
数据库应用是计算机应用的基本内容之一。数据库是长期存储在计算机内的有组织、可共享的数据集合。例如,企业的人事部门常常要把本单位职工的基本情况存放在表中,这张表就可以看成一个数据库。而使用数据库技术可以方便地对数据进行查询、增加、删除、修改等操作。在当今的信息社会,从国家经济信息系统、科技情报系统、个人通信、银行储蓄系统到办公自动化及生产自动化等,均需要数据库技术的支持。
4. 过程控制
过程控制也称为实时控制,是指计算机实时地对被控制对象进行数据采集、检测和处理,按最佳状态来控制或调节被控对象的一种方式。在日常生活中,计算机可以代替人类完成那些繁重或危险的工作。对于一些人们无法亲自操作的控制问题(如核反应堆),使用计算机可以精确控制。用计算机控制生产过程,不仅可以大大提高生产率,减轻人们的劳动强度,更重要的是可提高控制精度,以及产品质量和合格率。过程控制已经在石油、化工、冶金、纺织、水电、机械制造业等领域得到广泛应用。
5. 计算机辅助工程
计算机辅助工程是以计算机为工具,以提高工作效率和工作质量为目标,配备专用软件辅助人们完成特定任务。
计算机辅助设计(Computer Aided Design,CAD)和计算机辅助制造(Computer Aided Manufacturing,CAM)是设计和制造人员利用计算机来协助进行生产设备的管理、控制和操作。计算机辅助设计软件能高效率地绘制、修改、输出工程图样。其中的常规计算能帮助设计人员寻找较好的方案,使设计周期大幅缩短,而设计质量却大幅提高。应用该技术能使各行各业的设计人员从繁重的绘图设计中解脱出来,使设计工作自动化。计算机辅助制造指用计算机进行生产设备的管理、控制和操作,在各大制造业都有广泛的应用。
计算机辅助设计可以与计算机辅助制造、辅助测试融为一体,形成计算机辅助工程(Computer Aided Engineering,CAE)的概念,这样就使得工程项目的全部过程(包括企业管理在内)都统一置于计算机辅助之下而完全自动化。目前,在电子、机械、造船、航空、建筑、化工、电器等方面都有计算机辅助设计的应用,这样可以提高设计质量,缩短设计和生产周期,提高自动化水平。
电子设计自动化(Electronic Design Automation,EDA)技术基于计算机中安装的专用软件和接口设备,用硬件描述语言开发可编程芯片,将软件进行固化,从而扩充硬件系统的功能,提高系统的可靠性和运行速度。
计算机辅助教学(Computer Assisted Instruction,CAI)是计算机应用的一个热门领域。计算机辅助教学利用计算机技术、多媒体技术和网络通信等手段,以生动的画面、形象的演示给人以耳目一新的感觉,使讲解更直观、更清晰、更具吸引力。计算机辅助教学还能最大化地提高课容量和课密度,这是传统教学所无法比拟的。因此,不论从理解或记忆的角度来看,辅助教学都能达到良好的教学效果。而且,计算机辅助教学是一种以计算机软件为载体的教学,而软件的易传播性也是引起教学方法变革的巨大动力。计算机辅助教学作为信息化工程的一部分,体现了它独特的魅力。
目前,大型开放式网络课程(Massive Open Online Course,MOOC)成功实现了基于计算机和网络的知识交换,让每个人都能免费获取来自名牌大学或名师的资源,可以在任何地方、用任何设备进行学习。它可适用于专家培训、各学科间的交流学习以及特别教育的学习模式,任何学习类型的信息都可以通过网络传播。
6. 人工智能
人工智能方面的应用是计算机应用中最前沿的研究。它用计算机系统来模拟人的智能行为,代替人的部分脑力劳动,进行模式识别、景物分析、自然语言理解、自动程序设计等过程,辅助人类进行决策。机器人作为20世纪人类最伟大的发明之一,也体现了计算机在人工智能方面的成果。最新研制的机器人有的可以做一些简单的表情和动作,有的具有一定的感知和识别能力。机器人不仅可以在车间流水线上完成一些重复的操作,还可以从事许多更为复杂的工作,如进行手术、给残疾人喂饭、探测月球等。目前,正在加紧研制的第五代计算机,就是一个大型综合的人工智能系统。
7. 电子商务
电子商务(electronic commerce)通常是指在开放的互联网环境下,买卖双方利用网络资源,不谋面地进行各种商贸活动,如网上购物、商户之间的网上交易、在线电子支付以及各种商务活动、交易活动、金融活动和相关的综合服务活动。电子商务可通过多种电子通信方式来完成,但目前主要是以电子数据交换(Electronic Data Interchange,EDI)和因特网来完成。作为一种新型的商业运营模式,电子商务具有普遍性、方便性、整体性、安全性、协调性等特征。同时,电子商务系统也面临诸如保密性、可测性和可靠性的挑战,但这些挑战将随着网络信息技术的发展和社会的进步得以克服。
8. 娱乐
计算机正在走向家庭,在工作之余人们可以使用计算机欣赏影碟和音乐,进行网络游戏,模拟虚拟人生等。利用计算机制作的特效也在各类影视剧中大显神威。
习题
简答题




















































  1. 什么是计算无所不在?它具体体现的5个any是什么?
  2. 计算思维是什么?它的本质和特征是什么?
  3. 列举一些现实生活中的计算思维的例子。
  4. 计算机的发展经历了哪几个阶段?各个阶段的主要特征是什么?
  5. 按综合性能指标分类,常见的计算机有哪几类?
  6. 计算机有哪些主要应用领域?试举例说明。
  7. 简述未来计算机的发展趋势。
  8. 计算机都有哪些局限性?







Leave a Reply

Your email address will not be published. Required fields are marked *