Python蓝桥等考一级之一:计算机发展简史

  我们今天所用的计算机确切地讲是“二进制电子计算机”。为此,我们首先要了解二进制计算机。

  我们通常所用的是十进制数,有0到9十个数字,顾名思义,二进制只有0和1两个数字。十进制数逢十进一,二进制数逢二进一。下图演示二进制数的进位过程(程序代码附录1)。

 

  上面的例子足以说明二进制数和十进制数一样都可以用来表示数,现代二进制数的奠基者是著名的德国数学家莱布尼兹(1646-1716),他系统地论说了二进制数。他并没有止步于此,还进一步发明了二进制机械计算机。本来莱布尼兹自认为二进制数是他首先提出的,但在他看了《易经》后改变了原来的想法,认为《易经》里的数学进位制就是二进制。至于网传“莱布尼兹受《易经》启发发明二进制”的说法纯属无稽之谈。由此他产生了对东方文化的向往,打算到中国一游,由于其他原因未能遂愿。据说,他嘱咐他的学生要把他制作的一台二进制机械计算机送到中国来,他的学生也不辱所托。他的这台二进制机械计算机至今可能珍藏在中国博物馆中。下图是一台莱布尼兹计算机(图片来源网络)。

 

 

  中国制造的第一台计算机是邓稼先领导研制中国第一颗原子弹用的手摇计算机(机械),要看图片和介绍请复制打开下面链接:

http://www.chnmuseum.cn/zp/zpml/gzhww/202008/t20200824_247173.shtml。

 

  有关二进制的知识,可以参阅下面的文章:

认识二进制与易卦图(之一:倍增数列)

认识二进制与易卦图(之二:横式易卦图与二进制数)

认识二进制与易卦图(之三:用横式易卦图进行二进制数加法)

 

  这些计算机不是真正意义的计算机,充其量只能说是机械计算器。现代二进制计算机的抽象模型是著名英国数学家图灵(1912-1954)于1936年提出的,这种计算抽象模型就叫图灵机(如下图)。

 

  图灵机包括以下四个部分:

  1. 一条无限长的纸带,用于使用二进制符号来表达计算所用数据和控制规则;

  2. 一个读写头,用于获取或者改写纸带当前位置上的符号;

  3. 一个状态寄存器,用于保存图灵机当前所处的状态(包括停机状态);

  4. 一套控制规则,它根据当前机器所处的状态以及当前读写头所获取的符号,来确定读写头下一步的动作,并改变状态寄存器的值,令机器进入一个新的状态。

  图灵机有关视频链接:  https://v.qq.com/x/page/b0533tvwywc.html  https://haokan.baidu.com/v?pd=wisenatural&vid=3954062727515451146  https://www.bilibili.com/video/BV1gy4y1E7M5?p=6
  图灵机的提出掀起了研究实现图灵机的热潮,但发现用机械方法几乎是不可能的,转而使用逻辑代数(通过逻辑的“与或非”运算完成二进制数的数值运算)。这样,就只差用什么元器件实现逻辑的“与或非”运算了。  后来人们发现电子管可以实现逻辑的“与或非”运算,因此制作二进制电子计算机成为可能。

  世界上第一台通用计算机“ENIAC”于1946年2月14日在美国宾夕法尼亚大学诞生。发明人是美国人莫克利(JohnW.Mauchly)和艾克特(J.PresperEckert)。 

  它是一个庞然大物,用了18000个电子管,占地170平方米,重达30吨,耗电功率约150千瓦,每秒钟可进行5000次运算,这在现在看来微不足道,但在当时却是破天荒的。ENIAC以电子管作为元器件,所以又被称为电子管计算机,是计算机的第一代。电子管计算机由于使用的电子管体积很大,耗电量大,易发热,因而工作的时间不能太长。

  美国国防部用它来进行弹道计算。

  后来,人们用晶体管代替电子管,大大地减少了计算机的功耗和体积;再后来,集成电路(IC)的应用,又使计算机的体积进一步缩小,家用电脑应运而生;现在我们用的二进制电子计算机(手机、电脑等)使用了“大规模集成电路”。我们国家的大规模集成电路技术还不是很过关,被美国卡脖子。希望我们的儿童青少年一代要发奋图强,早日破解大规模集成电路的卡脖子问题。  

  练习题:

1、下面哪句话是正确的(单选)?

  A、我们现在用的计算机是十进制机械计算机。

  B、我们现在用的计算机是十进制电子计算机。

  C、我们现在用的计算机是二进制电子计算机。

  D、我们现在用的计算机是二进制机械计算机。

2、请按时间先后顺序排列下面的计算机:

  A、大规模集成电路计算机。

  B、莱布尼兹计算机。

  C、集成电路计算机。

  D、ENIAC。

3、有关世界上第一台通用计算机论述,请选择。

  (1)完成时间(单选):

    A、1936年

    B、1946年

    C、1956年

    D、1964年

  (2)研制单位单位(单选):

    A、英国牛津大学

    B、德国柏林大学

    C、美国麻省理工大学

    D、美国宾夕法尼亚大学

  (3)产品名称(单选):

    A、IAS

    B、IBM

    C、ENIAC

    D、MIT

  (4)发明人(多选):

    A、美国爱迪生

    B、美国莫克利

    C、德国莱布尼兹

    D、英国图灵

    E、美国艾克特

  (5)产品特性有错的请改正:

    A、每分钟可进行5000次运算

    B、用了18000个晶体管

    C、占地170平方英尺

    D、功耗约150千瓦

    E、重达300吨

    F、发热量少,可长时间工作。

  (6)产品用途(单选):

    A、大学处理科学实验数据

    B、美国国防部用它来进行弹道计算

    C、保险公司用来精算

    D、大公司处理财务数据

 

  学思营基于蓝桥STEM86平台开设学编程在线课程,欢迎加入:>>>Scratch(图形化编程)

>>>Python(代码编程)

>>>C++(专业化代码编程)。

  打开https://xuesiying.stem86.com注册,然后加微信13729135043,注明“蓝桥****”,****是注册的手机号码后四位。

  更多学习资料请打开“学思营”同步网站:http://5xstar.com

 

  附录1:

 

#逢二进一

lst=[0 for i in range(4)]  #4位二进制数

def printLst():  #打印数

    for i in lst:

        print(i,end="")  

def check(loc):  #递归检测进位   

    printLst()  #打印结果

    if lst[loc]==2:  #逢二进一

        lst[loc]=0

        loc-=1

        lst[loc]+=1

        print(">>",end="")

        check(loc)   

    else:

        print("")    

def addOne():  #加1操作

    printLst()  #打印原数

    print(" + 1 = ",end="")

    lst[-1]+=1  #个位加1

    check(-1)  

print("逢二进一演示:")  

for i in range(15):

    addOne()