进阶第一课 计算机的输入与输出
- 计算机的输入与输出
- 英语单词学习(当场会读加1分)
- 计算器的起源
计算器是最早的计算工具,例如:奇普(Quipu或khipu)是古代印加人的一种结绳记事的方法,用来计数或者记录历史。它是由许多颜色的绳结编成的。
还有古希腊人的安提凯希拉装置,这是一种1901年于希腊安提凯特拉岛上的一艘古船残骸中被发现的随船沉没2100余年的钟形装置。该装置由一系列可以被控制的铜质齿轮(超过30个)、曲柄和刻度盘组成。百余年后,科学家终于在现代先进技术辅助下,揭开它惊人谜底——这座名为“安提凯希拉装置”的装置竟然是一台两千年前的超级天文“计算机”,天文学家计算天体运行周期的工具,它的先进性在其制成后千年间无人超越。
。研究人员利用断层扫描和高解像表面成像技术,阅读了刻在齿轮上的文字。由于年代久远,这些文字一直依稀难辨。成像技术让研究人员看清了比之前多1倍的刻字。研究人员说,刻字含意与太阳和月球的运动有关,其中一组齿轮还记录了月球的不规则运动方式。
还有中国的算盘等。中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。这种算筹多用竹子制成,也有用木头,兽骨充当材料的。约二百七十枚一束,放在布袋里可随身携带。直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时的珠算盘已经与现代的珠算盘几乎相同。
其中1-5均分别以纵横方式排列相应数目的算筹来表示,6-9则以上面的算筹再加下面相应的算筹来表示。表示多位数时,个位用纵式,十位用横式,百位用纵式,千位用横式,以此类推,遇零则置空。这种计数法遵循一百进位制。据《孙子算经》记载,算筹记数法则是:凡算之法,先识其位,一纵十横,百立千僵,千十相望,万百相当。《夏阳侯算经》说:满六以上,五在上方.六不积算,五不单张。
现代计算器
所有的计算机其实很笨,他只是一堆电子元器件加上程序,计算器是一种简单的计算机,在计算器中,当我们按下一个数字键,如果没有程序控制,这个数字是不会自己显示在屏幕上,计算器是根据程序员编程的程序指令来做事情,如果我们没有编程对应的指令,机器就不知道该做什么了,比如:我们对着计算器大喊:3+2等于多少?计算器没有这个语音识别的程序,它就不会做任何事情,但是我们人类就知道,我们就会回答等于5,想一想为什么?现在就有很多科学家在研究这个问题,他们想让机器和人的思维一样,能自主学习进化,这个领域就是人工智能。
思考:我们的计算器想表达12,则需要先输入1再输入2,同学们想一想计算器收到的是什么?
计算器很笨,它收到的就是一个1,一个2,并不是12,那我们应该如何组合成12呢?
- 我们可以设计如下步骤:
(1)第一次输入1后,计算器需要把1存放到一个叫num的盒子里,计算机中存放数据的盒子被称为“变量"。
(2)第二次输入2后,计算器需要把2也存放到num的盒子里,这时需要先把num盒子里的数据*10,然后再+2,最后把最终的合成数字存放到num中。这样num中存放的就是12。
如果一开始num=0,那步骤1也可以变成:
第一次输入1后,计算器需要把1存放到一个叫num的盒子里,这时需要先把num盒子里的数据*10,然后再+1,最后把最终的合成数字存放到num中。
所以计算器中要存放一个数据到num中,需要先将num中的数字*10,再加上新来的数据,合成后存放进num。
请问,为什么要这样设计程序?(答对加1分)变量num的数值改变。其他的按键应该怎么做呢?
界面设计
核心程序设计思路
- (1)当按键按下时,数字键会出现点击的效果,通过缩小其外观大小到90%,等待短暂的时间,再修改其外观大小为100%,同时每次按下数字键,都会有按下的声音,来提升用户体验。
- (2)当数字按键时,这个数字存放在num变量中,显示区域会显示出此数字,如果连续输入两个数字1和2,则需要显示12,实现方式前面已经解释过,12=110+2,这就要求按键每次按下时,计算器需要先取出num中当前的数字将其10,再加上现在输入的按键数字,组成成新的数字。
按键2的程序 - 上图为按键2的程序,选择程序块的最上方,右击鼠标,选择拷贝,再选择其他9个键,在其程序区右击,选择粘贴,将程序拷贝给其他按键,因为这些按键的功能时一样的,只需要修改不同的数字即可。
如果num数值初始值不等于0,后果会怎样?
如果num第一次使用的初始值不等于0,即num中已经存放了一个不为0的数值,这就相当于在开始按按键前已经被人输入了一个数字,这个数字会一直按照十进制进位叠加上去,如果num初始值为9,当我们第一次按按键选了2时,这是显示在屏幕上的不是2,而是92,当我们再次按下一个3时,这时显示的时923。
显示程序
在计算器中,我们希望自己输入的数字会在显示区域显示出来,前面的程序我们已经知道输入的数字已经存放在num中,现在我们需要将num变量中的数值显示到指定的位置。程序如下,其中我们完成显示程序后,整个计算器就要开始工作了,需要将所有的变量清零,否则就会出现错误。变量清零的过程通过广播通信的机制来完成。
为什么将num值一开始设为0?(答对加1分)