淺談高職計算機學習中的教學創新論文
二進制是計算機技術學習的基礎。但當前的很多計算機課程對它關注不夠,同時,不少教材對于二進制、十進制之間的轉化過程的介紹過于抽象。高職院校學生基礎原本就比較差,難以適應過于抽象化的基礎知識的學習。如何讓他們喜歡二進制的學習呢?如何讓學生在生動活潑的氣氛中為理解計算機技術打下扎實的基礎呢?由于大家都喜歡聽故事,因此,筆者嘗試用講故事的方式來創新二進制的講解。
一、在講故事的基礎上理解二進制的數量級
在數學學習中,學生對于加減乘除的學習是很熟練的,但對于數的乘方的學習卻略顯不足。在數學的學習中,乘方運算通常是通過轉化為乘法運算來進行的。這樣,學生對于應用于數量級的乘方運算實際上是不熟悉的。因此,要學好二進制,就一定要熟記2 的1——10 次方。如何讓學生記住2 的1——10 次方呢?
上課時,我首先問學生:“你們吃過蘭州拉面嗎?”大家都說吃過。我就接著問:“你們知道蘭州拉面是怎樣拉出來的嗎?”大家便議論起來,說不就是拉面師傅兩手拉出來的嗎?我說:“沒錯,拉面師傅首先揉成一團面,再變成一根大棒形狀的面條,抓起這根面條一拉,就變成了2 條,這是21=2。再拉一次,變成4 條,就是22=4。第三次一拉,就是23=8。以此類推,就有24=16,25=32,26=64,27=128,28=256,29=512,210=1024。再把拉出的面條兩頭切去,中間的1024 根面條扔進鍋里,煮上幾分鐘,一碗熱氣騰騰的面條就可以端上來給大家品嘗啦。”
這樣,枯燥的數據記憶就變成了活生生的現實情境,我再讓全班同學站起來,和我一起模擬做蘭州拉面的動作,通過雙手的活動,大家在融洽的氣氛中,通過體力的伸展一下子記住了2 的1——10 次方。
很多學生都有接觸過這樣經典的案例。就是把一張紙不斷地對折,這樣的操作,我們一般可以對折七、八次,接下來就進行不下去了。為什么會這樣呢?因為對折七次就重疊128 張紙,對折八次就是256 張紙,對折9 次變成512 張,對折10 次就超過1000 張啦。這里,大家通過回憶,又一次回顧了2 的1——10 次方。如果可以,我們把這張紙對折30次,這時就會有230 張紙的厚度,這個厚度會超出我們的想象,如果有可能的話,我們可以沿著這個高度跑到月球上去。
大家一定聽說過印度的國王與宰相下棋的故事。有一次,國王和宰相在下國際象棋,結果宰相贏了。國王問宰相需要什么賞賜,宰相說,他不要什么賞賜,只要國王給64 個棋盤放上一些谷子就可以啦。國王問,那怎么放呢?宰相說,很簡單,第一個格子放一粒,第二個格子放兩粒,第三個格子放4 粒,第四個格子放8 !源祟愅,第64 個格子放263 粒。國王一聽哈哈大笑,以為這太容易了,不就是1+2+4+8+16+32+64+128+256+512+1024+……+263 嗎?依據運算規律,它的結果是264-1,這個結果,國王就是把全世界的糧食給宰相,也是不夠的呢!
通過這些故事,我們知道了,二進制雖然開始變化不大,但隨著數量級的增大,變化會出乎我們的意料之外。這也是為什么我們可以用二進制來表達數據?以及為什么二進制會成為電腦的基礎的原因。通過這些生動的故事,學生對于二進制的數量級會留下深刻的印象,為學習計算機技術提供了智力支持。
二、在講故事的基礎上實現十進制、二進制互化
在傳統的進制學習中,十進制轉化為二進制是通過對2 的輾轉相除,取余數,逆序寫出來實現的。如(45)10 如何轉化為二進制? 就是45÷2=22 余1,22÷2=11 余0,11÷2=5 余1,5÷2=2 余1,2÷2=1 余0,因此(45)10=(101101)2。那么,如何把二進制變成十進制呢?一般的,我們會告訴學生(101101)2 轉化為十進制就是1×25+0×24+1×23+1×22+0×21+1×20=32+8+4+1=(45)10。為什么這樣做呢?我們一般都會解釋說,這是類似于十進制的做法。
這樣的轉化總覺得有點麻煩累贅。后來,我與學生分享了一個人才招聘的故事。微軟公司的總裁比爾蓋茨大家都很熟悉吧。有一次,他到中國來招聘微軟公司的中國代理,面對眾多清華北大的應聘學子,比爾蓋茨說:“你們是中國人的精英,我想出一道有關二進制的問題考一下你們,請你們聽好題:我這里有1000 個蘋果,你們給裝到10 個箱子中,每個箱子中的蘋果數都不一樣,但我需要1000 個以內任何個數的蘋果你們都應該可以在不拆開箱子的情況下,通過若干個箱子組合給我。你們準備怎么裝呢?”據說當時沒有人能夠解出來。由于這個題目和學生招聘就業有關,大家都聽得很認真,很仔細。
其實,這個用二進制方法是這樣做的:第一個箱子裝1個;第二個箱子裝2 個;第三個箱子裝4 個;第四個箱子裝8 個;以此類推,一直到第九個箱子裝256 個。前面這九個箱子就裝了1+2+4+8+16+32+64+128+256=511 個,由于蘋果只有1000 個,所以,第十個箱子應該裝489 個。如果我們要234 個蘋果, 怎么辦? 由于234=128+64+32+8+2,所以只要取裝了2、8、32、64、128個蘋果的5 個箱子就可以啦。
實際上(234)10=(11101010)2,你看,左邊第一個1代表27=128,然后是代表64,32,0 代表那個數量級的不需要取值,然后是代表8 和2。這樣,我們又有了一種新的'化十進制轉化為二進制的方法。
即我們不用輾轉相除法,直接從2 的數量級來考慮。這種方法的優點在于快捷,迅速。缺點是一定要對2 的數量級結果很熟悉。這也是為什么我要求大家記住2 的1——10 次方的原因。如345 如何轉化成為二進制呢?就想象成要拿345 個蘋果,先拿256 個,這個256 用一個1 來表示;剩下89 個,又可以知道128 這個箱子不要取,用一個0 來表示;可以繼續取出64 個,用1 表示這個64;這時還剩下25 個,可以知道32 個的箱子不要取,用一個0 來表示;16 個的這個箱子要取,用1 來表示;還剩下9 個,可以取8 個的箱子,并用1 表示8;4 個的和2 個的箱子不用取,分別用0 表示;最后還有一個1,就用1 表示。
這樣從高位到低位依次寫出來就是101011001。開始可能會不太習慣,多練習幾次,就會發現這種從大處著手,從高位算起的方法的優勢了。學生會因此進一步熟練2 的1——10 次方。
熟悉了2 的1——10 次方,學生容易理解存儲器容量的單位換算。存儲的最小單位是位(bit),它是一個二進制的0 或者1,8 位(bit)構成1 字節(Byte,簡寫B)。進而又有1KB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB。
這里的bit,又翻譯成為“比特”。這樣同學們結合平時的U盤、移動硬盤屬性和容量,很容易理解了這些單位換算,同時知道二進制的“千”是2 的10 次方1024,比我們十進制的“千”略大些。為什么購買的U 盤容量或者移動硬盤容量總是這樣翻倍的擴容呢?為什么我們的ASCII 碼是256 個,分別從0——255 呢?為什么我們的IP 地址的那些數字也總是不能超過256 呢?為什么在Excel 的工作簿上有256(28)列,65536(216)行?這些都與二進制的數字特點有關。讓同學們思考這些,有助于提高學習興趣,掌握計算機技術的基礎,并為以后進一步就業中碰到難題時展開自己的思考留下鋪墊。
三、迎接新的挑戰,學會小數形式下的二進制與十進制轉換
我們已經知道2 的1——10 次方是2,4,8,16,32,64,128,256,512,1024。這是向右方向的翻倍,如果我們向左方向去看,那就是左方向的折半。。這樣我們知道2的0 次方為1,2 的負指數次方是對應正指數次方的倒數?墒窃鯓硬拍馨岩粋十進制的小數轉化成為二進制的小數呢?我們知道,一節課要讓學生感興趣,一定要讓學生自己思考,并產生驚訝、驚喜之情。相信前面的故事已經讓學生感到種種快樂與驚喜了。
在這里,我又一次拋出一個問題,對于二進制和十進制下的0.1,那個更大?即比較大小(0.1)2 和(0.1)10。很多同學不假思索就說,當然是十進制的大呀。因為在整數的轉化中的確是這樣的。我進一步啟發他們,二進制小數點后面的1 表示多少?十進制小數點后面的1 表示多少?慢慢的,終于有學生醒悟過來,二進制的小數點后面的1 表示,即0.5,而十進制的小數點后面的1 表示,當然是二進制的更大啦。因此,我們有(0.5)10=(0.1)2,(0.25)10=(0.01)2,(0.125)10=(0.001)2,依此類推。而十進制的0.1 用二進制怎么表示呢?轉化時具體又怎么操作呢?在整數的轉化中我們用的是除以2 取余數,逆序寫出來,對應的,小數轉換就應該乘以2,順序去取整數部分了。例如0.8125 換成二進制方法如下:
0.8125×2 = 1.625…1
0.625×2 = 1.25…1
0.25×2 = 0.5…0
0.5×2 = 1 …1
至此小數部分已經全為0,所以十進制0.8125 對應二進制的 0.1101。如果乘以2 后始終得不到1,即小數部分無法變成0,那就只能是二進制的循環小數啦,如十進制的0.1:
0.1×2=0.2…0
0.2×2=0.4…0
0.4×2=0.8…0
0.8×2=1.6…1
0.6×2=1.2…1
0.2×2=0.4…0
開始循環啦,即(0.1)10=(0.0001100110011…)2。很有意思吧,簡單十進制的0.1,在二進制中竟然是無限循環小數!不可思議吧!很多我們想當然的東西一定要檢驗才能真正確定,否則很容易出錯,這也是很多人害怕數學,害怕數字的一個原因。
四、在二進制的基礎上的八進制、十六進制
讓學生熟悉8 以內的二進制數碼也是很有意義的。順序寫出來是001,010,011,100,101,110,111。在玩味這些簡單的0、1 之后會產生新的數感。然后,我們可以學習八進制。它有八個符號:0,1,2,3,4,5,6,7。轉化十進制為八進制我們還是用輾轉相除的方法。如十進制234 轉化八進制就是
234÷8=29…2
29÷8=3…5
和二進制一樣逆序寫成(352)8,當一個十進制數寫成八進制后,有一個好處就是可以很方便的轉換成為二進制數,這只要讓八進制的每一位用三個二進制數碼代替就可以了。這樣,我們實際上又找到一個快捷轉化十進制為二進制的方法:先把十進制轉化為八進制,再把八進制轉化為二進制。如(234)10=(352)8=(011,101,010)2,這里直接把3、5、2 寫成011、101、010 就很方便了。這樣的學習真是一個步步有驚喜的過程啊。
十六進制要注意的就是它的表示符號依次為0,1,2,3,4,5,6,7,8,9,a,b ,c,d,e,f, 即用a,b ,c,d,e,f 表示10、11、12、13、14、15。至于它和十進制的轉化,這是和二進制、八進制類似的,就不必詳細講解了。
在計算機教學中,我們不難發現,二進制的數量級結果有助于學生理解后續計算機技術的很多內容。如數據結構中位的概念,在負數表示中對于數據變化的理解,對于計算機數據溢出的理解,對于計算機各方面數據的思考,這些都與二進制的學習分不開。
計算機的很多硬件的結構也和二進制有關,特別是存儲容量等與二進制密不可分。因此,我們一定要通過改進教學方式,提供豐富的生動的材料推進學生的學習。使他們形成堅實的二進制數感,為后續的繼續深入學習計算機技術打下堅實的基礎,并從中獲得學習的快樂。
【淺談高職計算機學習中的教學創新論文】相關文章: