進(jìn)階第一課 計(jì)算機(jī)的輸入與輸出
- 計(jì)算機(jī)的輸入與輸出
- 英語(yǔ)單詞學(xué)習(xí)(當(dāng)場(chǎng)會(huì)讀加1分)
- 計(jì)算器的起源
計(jì)算器是最早的計(jì)算工具厂庇,例如:奇普(Quipu或khipu)是古代印加人的一種結(jié)繩記事的方法,用來(lái)計(jì)數(shù)或者記錄歷史伯诬。它是由許多顏色的繩結(jié)編成的澳腹。
還有古希臘人的安提凱希拉裝置织盼,這是一種1901年于希臘安提凱特拉島上的一艘古船殘骸中被發(fā)現(xiàn)的隨船沉沒(méi)2100余年的鐘形裝置。該裝置由一系列可以被控制的銅質(zhì)齒輪(超過(guò)30個(gè))酱塔、曲柄和刻度盤組成沥邻。百余年后,科學(xué)家終于在現(xiàn)代先進(jìn)技術(shù)輔助下羊娃,揭開(kāi)它驚人謎底——這座名為“安提凱希拉裝置”的裝置竟然是一臺(tái)兩千年前的超級(jí)天文“計(jì)算機(jī)”唐全,天文學(xué)家計(jì)算天體運(yùn)行周期的工具,它的先進(jìn)性在其制成后千年間無(wú)人超越蕊玷。
邮利。研究人員利用斷層掃描和高解像表面成像技術(shù),閱讀了刻在齒輪上的文字垃帅。由于年代久遠(yuǎn)近弟,這些文字一直依稀難辨。成像技術(shù)讓研究人員看清了比之前多1倍的刻字挺智。研究人員說(shuō)祷愉,刻字含意與太陽(yáng)和月球的運(yùn)動(dòng)有關(guān),其中一組齒輪還記錄了月球的不規(guī)則運(yùn)動(dòng)方式赦颇。
還有中國(guó)的算盤等二鳄。中國(guó)古代最早采用的一種計(jì)算工具叫籌策,又被叫做算籌媒怯。這種算籌多用竹子制成订讼,也有用木頭,獸骨充當(dāng)材料的扇苞。約二百七十枚一束欺殿,放在布袋里可隨身攜帶。直到今天仍在使用的珠算盤鳖敷,是中國(guó)古代計(jì)算工具領(lǐng)域中的另一項(xiàng)發(fā)明脖苏,明代時(shí)的珠算盤已經(jīng)與現(xiàn)代的珠算盤幾乎相同。
在算籌計(jì)數(shù)法中定踱,以縱橫兩種排列方式來(lái)表示單位數(shù)目的棍潘,
算籌其中1-5均分別以縱橫方式排列相應(yīng)數(shù)目的算籌來(lái)表示,6-9則以上面的算籌再加下面相應(yīng)的算籌來(lái)表示。表示多位數(shù)時(shí)亦歉,個(gè)位用縱式恤浪,十位用橫式,百位用縱式肴楷,千位用橫式水由,以此類推,遇零則置空赛蔫。這種計(jì)數(shù)法遵循一百進(jìn)位制砂客。據(jù)《孫子算經(jīng)》記載,算籌記數(shù)法則是:凡算之法濒募,先識(shí)其位,一縱十橫圾结,百立千僵瑰剃,千十相望,萬(wàn)百相當(dāng)筝野∩我Γ《夏陽(yáng)侯算經(jīng)》說(shuō):滿六以上,五在上方.六不積算歇竟,五不單張挥唠。
現(xiàn)代計(jì)算器
所有的計(jì)算機(jī)其實(shí)很笨,他只是一堆電子元器件加上程序焕议,計(jì)算器是一種簡(jiǎn)單的計(jì)算機(jī)宝磨,在計(jì)算器中,當(dāng)我們按下一個(gè)數(shù)字鍵盅安,如果沒(méi)有程序控制唤锉,這個(gè)數(shù)字是不會(huì)自己顯示在屏幕上,計(jì)算器是根據(jù)程序員編程的程序指令來(lái)做事情别瞭,如果我們沒(méi)有編程對(duì)應(yīng)的指令窿祥,機(jī)器就不知道該做什么了,比如:我們對(duì)著計(jì)算器大喊:3+2等于多少蝙寨?計(jì)算器沒(méi)有這個(gè)語(yǔ)音識(shí)別的程序晒衩,它就不會(huì)做任何事情,但是我們?nèi)祟惥椭狼酵幔覀兙蜁?huì)回答等于5听系,想一想為什么?現(xiàn)在就有很多科學(xué)家在研究這個(gè)問(wèn)題虹菲,他們想讓機(jī)器和人的思維一樣跛锌,能自主學(xué)習(xí)進(jìn)化,這個(gè)領(lǐng)域就是人工智能。
思考:我們的計(jì)算器想表達(dá)12髓帽,則需要先輸入1再輸入2菠赚,同學(xué)們想一想計(jì)算器收到的是什么?
計(jì)算器很笨郑藏,它收到的就是一個(gè)1衡查,一個(gè)2,并不是12必盖,那我們應(yīng)該如何組合成12呢拌牲?
- 我們可以設(shè)計(jì)如下步驟:
(1)第一次輸入1后,計(jì)算器需要把1存放到一個(gè)叫num的盒子里歌粥,計(jì)算機(jī)中存放數(shù)據(jù)的盒子被稱為“變量"塌忽。
(2)第二次輸入2后,計(jì)算器需要把2也存放到num的盒子里失驶,這時(shí)需要先把num盒子里的數(shù)據(jù)*10土居,然后再+2,最后把最終的合成數(shù)字存放到num中嬉探。這樣num中存放的就是12擦耀。
如果一開(kāi)始num=0,那步驟1也可以變成:
第一次輸入1后涩堤,計(jì)算器需要把1存放到一個(gè)叫num的盒子里眷蜓,這時(shí)需要先把num盒子里的數(shù)據(jù)*10,然后再+1胎围,最后把最終的合成數(shù)字存放到num中吁系。
所以計(jì)算器中要存放一個(gè)數(shù)據(jù)到num中,需要先將num中的數(shù)字*10白魂,再加上新來(lái)的數(shù)據(jù)垮抗,合成后存放進(jìn)num。
請(qǐng)問(wèn)碧聪,為什么要這樣設(shè)計(jì)程序冒版?(答對(duì)加1分)變量num的數(shù)值改變。其他的按鍵應(yīng)該怎么做呢逞姿?
界面設(shè)計(jì)
核心程序設(shè)計(jì)思路
- (1)當(dāng)按鍵按下時(shí)辞嗡,數(shù)字鍵會(huì)出現(xiàn)點(diǎn)擊的效果,通過(guò)縮小其外觀大小到90%滞造,等待短暫的時(shí)間续室,再修改其外觀大小為100%,同時(shí)每次按下數(shù)字鍵谒养,都會(huì)有按下的聲音挺狰,來(lái)提升用戶體驗(yàn)。
- (2)當(dāng)數(shù)字按鍵時(shí),這個(gè)數(shù)字存放在num變量中丰泊,顯示區(qū)域會(huì)顯示出此數(shù)字薯定,如果連續(xù)輸入兩個(gè)數(shù)字1和2,則需要顯示12瞳购,實(shí)現(xiàn)方式前面已經(jīng)解釋過(guò)话侄,12=110+2,這就要求按鍵每次按下時(shí)学赛,計(jì)算器需要先取出num中當(dāng)前的數(shù)字將其10年堆,再加上現(xiàn)在輸入的按鍵數(shù)字,組成成新的數(shù)字盏浇。
按鍵2的程序 - 上圖為按鍵2的程序变丧,選擇程序塊的最上方,右擊鼠標(biāo)绢掰,選擇拷貝痒蓬,再選擇其他9個(gè)鍵,在其程序區(qū)右擊曼月,選擇粘貼谊却,將程序拷貝給其他按鍵柔昼,因?yàn)檫@些按鍵的功能時(shí)一樣的哑芹,只需要修改不同的數(shù)字即可。
如果num數(shù)值初始值不等于0捕透,后果會(huì)怎樣聪姿?
如果num第一次使用的初始值不等于0,即num中已經(jīng)存放了一個(gè)不為0的數(shù)值乙嘀,這就相當(dāng)于在開(kāi)始按按鍵前已經(jīng)被人輸入了一個(gè)數(shù)字末购,這個(gè)數(shù)字會(huì)一直按照十進(jìn)制進(jìn)位疊加上去,如果num初始值為9虎谢,當(dāng)我們第一次按按鍵選了2時(shí)盟榴,這是顯示在屏幕上的不是2,而是92婴噩,當(dāng)我們?cè)俅伟聪乱粋€(gè)3時(shí)擎场,這時(shí)顯示的時(shí)923。
顯示程序
在計(jì)算器中几莽,我們希望自己輸入的數(shù)字會(huì)在顯示區(qū)域顯示出來(lái)迅办,前面的程序我們已經(jīng)知道輸入的數(shù)字已經(jīng)存放在num中,現(xiàn)在我們需要將num變量中的數(shù)值顯示到指定的位置章蚣。程序如下站欺,其中我們完成顯示程序后,整個(gè)計(jì)算器就要開(kāi)始工作了,需要將所有的變量清零矾策,否則就會(huì)出現(xiàn)錯(cuò)誤磷账。變量清零的過(guò)程通過(guò)廣播通信的機(jī)制來(lái)完成。
為什么將num值一開(kāi)始設(shè)為0蝴韭?(答對(duì)加1分)