
1.1.1 从结绳计数到电子计算机技术
1.结绳计数法——最古老的计数工具
达尔文和马克思都曾经阐述过,劳动工具对于人类从猿进化到人起着关键性的作用。远古时候,人们在劳动和生活实践中,发明了刀斧、弓箭等工具,物化延伸了自身身体的能力,有着较一般动物更高的智力,依靠这些工具来获取生存资源的能力大大提高,并学会了存储食物以便度过饥荒的年月,因此,对于数的概念和需求逐步建立,例如,打了多少只野兽,俘虏了多少个敌人等,由于没有诞生文字,有人就想到用绳子打结的方法来记录这些数字,如图1-2所示。
宋朝时,有人曾在书中记载:“鞑靼无文字,每调发军马,即结草为约,使人传达,急于星火。”这是用结草来调发军马,传达要调的人数。中央民族大学就收藏着一副高山族的结绳,其由两条绳组成:每条上有两个结,再把两条绳结在一起。有趣的是,不但我们东方有过结绳,西方也结过绳。虽然那时还没有电报电话,人类的发展有其相似之处。传说古波斯王有一次打仗,命令手下兵马守一座桥,要守60天。为了让将士们不少守一天也不多守一天,波斯王用一根长长的皮条,在上面系了60个扣。他对守桥的官兵们说:“我走后你们一天解一个扣,什么时候解完了,你们就可以回家了。”在古埃及,也很早就有用结绳的方法来记录关于数的需求,如图1-3所示。在我国古代的甲骨文中,数学的“数”,它的右边表示一只右手,左边则是一根打了许多绳结的木棍,表示“数”者,图结绳而记之。
当然,后来也有在动物的骨头或者木棍上划痕来计数的方法。但结绳还不能算计算,只能用于计数而已。

图1-2 古代结绳

图1-3 古埃及结绳
2.算筹——最古老的计算工具
结绳的方法只能计数,但如何进行计算呢?随着人类生产工具的进化,生产的资源超过了自身的需求,这就产生了交易,交易中存在计算,例如,23+73,古人时用什么办法解决的呢?算筹很好地解决了这个问题。
在春秋战国时期,算筹的使用已经非常普遍了。古代的算筹实际上是一根根同样长短和粗细的小棍子(见图1-4),一般长为13~14cm,径粗0.2~0.3cm,多用竹子制成,也有用木头、兽骨、象牙、金属等材料制成的,大约二百七十多枚为一束,放在一个布袋里,系在腰部随身携带。需要计数和计算的时候,就把它们取出来,放在桌上、炕上或地上都能摆弄。
在算筹计数法中,以纵横两种排列方式来表示单位数目的,其中1~5均分别以纵横方式排列相应数目的算筹来表示,6~9则以上面的算筹再加下面相应的算筹来表示。表示多位数时,个位用纵式,十位用横式,百位用纵式,千位用横式,依此类推,遇零则置空。这种计数法遵循一百进制。据《孙子算经》记载,算筹计数法则是:凡算之法,先识其位,一纵十横,百立千僵,千十相望,万百相当。《夏阳侯算经》写道:满六以上,五在上方,六不积算,五不单张。算筹计算法如图1-5所示。

图1-4 算筹

图1-5 算筹计数法
3.算盘——中国的伟大发明
算盘又称珠算盘,起源于北宋时代,已经有2600多年历史,是中国古代创造发明的一种简便的计算工具(见图1-6)。算盘的发明解决了算筹摆放不易、容易出错的问题。算盘结合十进制计数法设计了一套计算口诀,这也许是人类历史上最早的系统化、体系化的计算算法。在人类计算工具的历史上具有重要的意义,有人认为算盘是人类最早的数字计算机。北宋名画《清明上河图》中赵太丞家药铺柜就画有一架算盘。算盘对于20世纪60年代以前出生的人来说是很熟悉、很亲切的,稍微复杂的计算都用它来解决。

图1-6 算盘
在计算机已被普遍使用的今天,古老的算盘不仅没有被废弃,反而因它的灵便、准确等优点,在许多国家方兴未艾。即使现代最先进的电子计算器也不能完全取代算盘的作用。因此,人们往往把算盘的发明与中国古代四大发明相提并论。2013年12月2日至7日联合国教科文组织在阿塞拜疆首都巴库举行“非遗”保护政府间委员会第八次会议,12月4日,珠算正式成为人类非物质文化遗产。这是我国第30项被列为非遗的项目。
4.计算尺——西方对计算技术的重要贡献
计算尺发明于大约1620—1630年,在纳皮尔(John Napier)对数概念发表后不久。16、17世纪之交,随着天文、航海、工程、贸易以及军事的发展,改进数字计算方法成了当务之急。纳皮尔(1550—1617)正是在研究天文学的过程中,为了简化其中的计算而发明了对数。对数的发明是数学史上的重大事件,恩格斯曾经把对数的发明和解析几何的创始、微积分的建立称为17世纪数学的三大成就,伽利略也说过:“给我空间、时间及对数,我就可以创造一个宇宙。”利用对数原理,可以将乘法简化为加法,除法简化为减法,求平方简化为以2为除数的除法,大大简化了计算。
牛津大学的埃德蒙·甘特(Edmund Gunter)发明了一种使用单个对数刻度的计算工具,当和另外的测量工具配合使用时,可以用来做乘除法。1630年,剑桥大学的威廉·奥特雷德(William Oughtred)发明了圆算尺,1632年,他组合两把甘特式计算尺,用手合起来制成可以视为现代的计算尺的设备,如图1-7如图所示。

图1-7 对数计算尺
对数计算尺可以说是一个模拟计算机,通常由三个互相锁定的有刻度的长条和一个滑动窗口(称为游标)组成。可以进行乘除法、根、幂、三角函数、指数和对数等运算。
三百多年来,对数计算尺一直是科学工作者,特别是工程技术人员必备的计算工具,直到20世纪70年代才让位给电子计算器。德国火箭专家沃纳·冯·布劳恩,在第二次世界大战后到美国从事航天计划工作时随身带了两把三十年代的老式Nestler算尺。终其一生,他没有用过任何其他袖珍计算仪器;显然计算尺在他进行火箭设计的参数估算和其他计算中起过重要的作用。中国历史上康熙皇帝就使用过计算尺。20世纪60—70年代计算尺也是学生必备的计算工具。
5.机械式计算技术
随着西方钟表技术的发展,齿轮的转动计时方法体现了机械计算及进位的思想(低位齿轮每转动一圈,高位齿轮只转动一圈),这为机械式计算机的发明奠定了基础。
(1)帕斯卡加法器
帕斯卡(Pascal,图1-8)是法国数学家、物理学家、哲学家、流体动力学家和概率论的创始人,他少年时每天都看着年迈的父亲费力地计算税率税款,很想帮助做点事,可又怕父亲不放心。于是,他想到了为父亲制作一台可以计算税款的机器。1642年,他19岁那年发明了人类有史以来第一台机械计算机。

图1-8 帕斯卡
帕斯卡的计算机是一种系列齿轮组成的装置,外形像一个长方盒子,用儿童玩具那种钥匙旋紧发条后才能转动,只能够做加法和减法。为了解决“逢十进一”的进位问题,聪明的帕斯卡采用了一种小爪子式的棘轮装置。当定位齿轮朝9转动时,棘爪便逐渐升高;一旦齿轮转到0,棘爪就“咔嚓”一声跌落下来,推动十位数的齿轮前进一挡。
帕斯卡在诸多领域都有建树。物理学中关于液体压强性质的“帕斯卡定律”就是他的伟大发现并以他的名字命名的。可惜,长期从事艰苦的研究损害了他的健康,1662年英年早逝,死时年仅39岁。他留给了世人一句至理名言:“人好比是脆弱的芦苇,但是他又是有思想的芦苇。”
人们没有忘记帕斯卡对于计算机的功绩,1971年发明的一种程序设计语言——Pascal语言,就是为了纪念这位先驱,使帕斯卡的英名长留在计算机时代。
(2)莱布尼茨乘法器
德国数学家莱布尼茨(Leibniz,图1-9)在看了帕斯卡撰写的加法器计算机论文后产生了强烈的发明欲望,经过艰苦的研究和实验,1674年莱布尼茨发明了乘法器,这是一台可以完整进行加减乘除运算的计算机。他说:“把计算的工作交给机器去做,可以使优秀的人才从繁重的计算中解脱出来”。机械计算机如图1-10所示。

图1-9 莱布尼茨

图1-10 机械计算机
莱布尼茨是微积分的共同发明者,奠定了二进制的基础,他曾断言:“二进制乃是具有世界普遍性的、最完美的逻辑语言。”
6.差分机(数学分析机器)模型
最具有现代计算机雏形的当属美国人赫尔曼·霍尔瑞斯(Herman Hollerith)发明的卡片制表系统。赫尔曼·霍尔瑞斯是一个统计学家,起初发明该系统是为了统计死亡率,后用于人口普查,使得原来需要7年半的统计工作缩短为两年半的时间就完成了,大大加快了计算时间。该卡片制表系统采用了以卡片穿孔来存储资料和排序,该方式成为早期计算机的程序和数据存储方式的雏形,所以又称赫尔曼·霍尔瑞斯为“信息处理之父”。赫尔曼·霍尔瑞斯以此成立的计算机制表公司最后发展为国际商用机器公司,也就是现在的IBM。
1819年,英国科学家巴贝奇同期也设计了“差分机”(见图1-11),提出了带程序控制的完全自动计算机的设想,所谓“差分”的含义,是把函数表的复杂算式转化为差分运算,用简单的加法代替平方运算。该机器已经能够编制平方表和一些其他的表格,还能够计算多项式的加法,运算的精确度达6位小数。巴贝奇还于1822年制造出可动模型,这台机器能提高乘法速度和改进对数表等数字表的精确度。巴贝奇研制的差分机和分析机为现代计算机设计思想的发展奠定基础,为现代计算机的诞生扫除了许多理论上的障碍,做出了巨大的贡献。

图1-11 差分机