国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

二進(jìn)制數(shù)字編碼過程中的計(jì)算思維

2021-04-21 05:14陳凱
中國(guó)信息技術(shù)教育 2021年7期
關(guān)鍵詞:二進(jìn)制齒輪編碼

陳凱

在信息技術(shù)教學(xué)內(nèi)容中,在講到將十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)字的方法時(shí),常會(huì)介紹“除二取余”法,簡(jiǎn)單來說,就是將某十進(jìn)制數(shù)不停地除以2并得到余數(shù),若把所有余數(shù)按生成次序反向列出,即可得到某十進(jìn)制數(shù)字所對(duì)應(yīng)的二進(jìn)制數(shù)。至于為什么采用這樣的方法,解釋起來卻有些麻煩,盡管可以說明這個(gè)過程其實(shí)是二進(jìn)制數(shù)轉(zhuǎn)十進(jìn)制數(shù)的逆方法,但似乎很多人對(duì)逆向過程的領(lǐng)悟力遠(yuǎn)遜于正向的過程。筆者在研究后,將十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)的過程設(shè)計(jì)成了一個(gè)項(xiàng)目活動(dòng),試圖讓學(xué)生通過游戲體驗(yàn)和創(chuàng)意設(shè)計(jì)的過程,理解為什么能用“除二取余”法進(jìn)行二進(jìn)制數(shù)字編碼,并能領(lǐng)會(huì)計(jì)算思維的方法在解決問題中所發(fā)揮的獨(dú)特作用。

任務(wù)一:撕紙游戲

在一張紙條上均勻地畫上標(biāo)記,之間留出一定空白:# # # # # # # # # # # # #。將紙對(duì)折,如果折痕經(jīng)過#號(hào),則將此#號(hào)撕下,放在一邊,與此同時(shí),紙條被撕成兩半,留下一半扔掉另一半;如果折痕經(jīng)過的是空白處,則將此空白撕下,放在一邊,被撕成兩半的紙條同樣留下一半扔掉另一半。13個(gè)#號(hào)的操作過程依次如表1所示(表中用下劃線表示空白)。將最后結(jié)果中的#號(hào)看成1,空白看成0,便得到了13所對(duì)應(yīng)的二進(jìn)制編碼的數(shù)字1101。

該任務(wù)的作用有兩點(diǎn):其一,將“除二取余”的數(shù)學(xué)運(yùn)算過程轉(zhuǎn)化成了一系列的操作動(dòng)作,這樣就將一個(gè)運(yùn)算過程以機(jī)械化的形式展現(xiàn)出來;其二,揭示出數(shù)學(xué)上的“除二取余”和另一種過程是等價(jià)的:首先判斷數(shù)字是奇數(shù)還是偶數(shù),如是奇數(shù),則取出1后再對(duì)其除以2,如是偶數(shù),則取出0后再對(duì)其除以2。反復(fù)執(zhí)行此操作,即可實(shí)現(xiàn)二進(jìn)制數(shù)字的編碼。這種對(duì)數(shù)據(jù)執(zhí)行某種操作,并且對(duì)執(zhí)行操作后得到的結(jié)果數(shù)據(jù)繼續(xù)執(zhí)行該操作的方法,就是一種迭代。等到該任務(wù)完成后,學(xué)生可以更直觀地體會(huì)到,一個(gè)機(jī)械性的重復(fù)操作過程是如何用于解決數(shù)學(xué)問題的,但到目前為止,學(xué)生未必能領(lǐng)悟能通過這種方法,將十進(jìn)制數(shù)字轉(zhuǎn)換為二進(jìn)制編碼數(shù)字的原因。

任務(wù)二:湊數(shù)游戲

列出1、2、4、8、16等十進(jìn)制數(shù)字序列(后一個(gè)數(shù)總是前一個(gè)數(shù)的兩倍),同時(shí)列出每個(gè)數(shù)字對(duì)應(yīng)的二進(jìn)制數(shù)(后一個(gè)二進(jìn)制數(shù)字總比前一個(gè)數(shù)字末尾處多一個(gè)0),注意二進(jìn)制數(shù)前,用0補(bǔ)齊位數(shù),列表如下頁(yè)表2所示。

這樣,就可以用湊數(shù)的方法來找出特定十進(jìn)制數(shù)所對(duì)應(yīng)的二進(jìn)制數(shù),如13可以湊成1+2+8,那么只要將1、2和8對(duì)應(yīng)的右側(cè)的二進(jìn)制數(shù)疊加起來,就得到了13的二進(jìn)制數(shù)的編碼,相信很多教師都在課堂中講解過這種方法,這里就不贅述了。但其實(shí)可以借助表2來為最終解釋二進(jìn)制數(shù)的編碼問題提供重要的線索:任意一個(gè)偶數(shù),其實(shí)都是另一個(gè)數(shù)字的兩倍,在二進(jìn)制數(shù)中,在某數(shù)后跟一個(gè)0,則得到原數(shù)的兩倍。任意一個(gè)奇數(shù),其實(shí)都是另一個(gè)數(shù)字的兩倍加上1,在二進(jìn)制數(shù)中,在某數(shù)后跟一個(gè)1,則得到原數(shù)的兩倍加1。相信這些都很容易被理解。

任務(wù)三:推理游戲

活動(dòng)進(jìn)展到這里,就已經(jīng)掌握了揭開“除二取余”法之所以有效的原因的所有線索,依靠純粹的推理就能完成將某十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)的過程,仍然用十三(這里用中文來避免煩瑣的不同進(jìn)制數(shù)字格式的寫法)來舉例。

由于十三是奇數(shù),那么在二進(jìn)制數(shù)字中,它一定是某數(shù)后跟上1而形成的:(某數(shù))1。

雖然不知道括號(hào)里某數(shù)的二進(jìn)制形式是什么,但可以肯定的是,這個(gè)數(shù)字是十進(jìn)制數(shù)六,因?yàn)橹挥辛膬杀都?才是13:(六)1。

這個(gè)六顯然是偶數(shù),那么在二進(jìn)制數(shù)字中,它一定是另一個(gè)某數(shù)后跟上0而形成的,這里的另一個(gè)某數(shù)只可能是三:((三)0)1。

接下去推理過程是類似的,繼而得到:

(((一)1)0)1)

然后得到:

((((零)1)1)0)1)

就算是再往下做,也只是得到更多的零而已,所以可以規(guī)定,當(dāng)出現(xiàn)中文的“零”時(shí),則結(jié)束推理過程。實(shí)際上,人腦所做的推理過程,計(jì)算機(jī)也一樣能做到,對(duì)于計(jì)算機(jī)來說,這種方法叫做遞歸。到這里就解釋了利用“除二取余”得到二進(jìn)制編碼的數(shù)字的原因,可以和第一個(gè)撕紙游戲遙相呼應(yīng)起來。同時(shí),這種對(duì)數(shù)據(jù)反復(fù)執(zhí)行操作的方法,也能和后續(xù)算法模塊中的內(nèi)容建立起關(guān)聯(lián),即便不講遞歸,也能借助循環(huán)嵌套分支結(jié)構(gòu)的程序代碼,來實(shí)現(xiàn)將十進(jìn)制數(shù)字編碼為二進(jìn)制數(shù)字的過程。

任務(wù)四:創(chuàng)意設(shè)計(jì)

人類掌握知識(shí)和技能的目的是建設(shè)和改造世界,既然學(xué)生們已經(jīng)領(lǐng)悟了將十進(jìn)制數(shù)編碼為二進(jìn)制數(shù)字的方法,那么,就充分鼓勵(lì)大家將自己學(xué)習(xí)的成果運(yùn)用到實(shí)踐中去吧。

相對(duì)于掌握“除二取余”法,更具綜合性、更能體現(xiàn)自主創(chuàng)造性的任務(wù),是設(shè)計(jì)出一個(gè)系統(tǒng)或裝置來實(shí)現(xiàn)類似于“除二取余”的功能,大家可能會(huì)想,當(dāng)教學(xué)內(nèi)容講到二進(jìn)制編碼的時(shí)候,學(xué)生極有可能尚未學(xué)習(xí)算法和編程,更遑論迭代和遞歸了。然而,即便不用程序設(shè)計(jì)的知識(shí)和技能,也一樣有辦法設(shè)計(jì)出各種有趣的插電的或不插電的、自動(dòng)化的或半自動(dòng)化的系統(tǒng)或裝置(考慮到課時(shí)和可用器材上的限制,也可以僅僅讓學(xué)生繪制出某個(gè)裝置的設(shè)計(jì)方案),來實(shí)現(xiàn)這樣的功能,并讓學(xué)生在設(shè)計(jì)過程中體會(huì)計(jì)算思維的作用。當(dāng)然,為了提高教學(xué)效率,教師需要給出一些啟發(fā)和提示。

下面是筆者設(shè)計(jì)的難度不一的幾個(gè)例子,限于篇幅,這里只簡(jiǎn)單說明這些系統(tǒng)如何實(shí)現(xiàn)二進(jìn)制數(shù)字編碼的大致思路,這樣也給各位讀者留下思考的空間。

1.齒輪計(jì)數(shù)

圖1是一個(gè)半自動(dòng)化的簡(jiǎn)單裝置,底下的齒輪有10個(gè)短齒和5個(gè)長(zhǎng)齒,只有長(zhǎng)齒可以撥動(dòng)上部的齒輪。長(zhǎng)齒左側(cè)寫0,右側(cè)寫1。上部齒輪周圍均勻列出0到13刻度值,默認(rèn)指針指向刻度0。該裝置工作過程以13為例,用手輕輕撥動(dòng)下部短齒13次,則上部齒輪指針指向6,同時(shí)下部齒輪指向上部齒輪的刻度值為1,記錄下6和1,其中6是下一輪操作的撥動(dòng)次數(shù),而1是二進(jìn)制編碼的一部分。然后用手輕輕撥動(dòng)下部短齒6次,則上部齒輪指針指向3,同時(shí)下部齒輪指向上部齒輪的刻度值為0……以此類推,就能得到13所對(duì)應(yīng)的二進(jìn)制編碼的數(shù)字。

2.字符串替換系統(tǒng)

用若干個(gè)*號(hào)代表數(shù)字,用“.”來代表字符串結(jié)尾,然后多次利用記事本的“編輯—全部替換”功能,生成該數(shù)字所對(duì)應(yīng)的二進(jìn)制編碼,在替換規(guī)則中可用到其他字符。為了便于自動(dòng)化過程的實(shí)現(xiàn),要求對(duì)于任何數(shù)字,也就是任何數(shù)量的*號(hào),“編輯—全部替換”的規(guī)則和順序都是一樣的,允許多次批量操作一系列的替換動(dòng)作。舉例說,如設(shè)置替換動(dòng)作為A、B、C、D,則可多次重復(fù)進(jìn)行A、B、C、D操作,但不能在操作過程中臨時(shí)修改替換規(guī)則,也不能多出某一條規(guī)則成為A、B、C、D、E或去除掉某一條規(guī)則成為A、B、D。

實(shí)現(xiàn)任務(wù)的方法不是唯一的,如反復(fù)執(zhí)行以下替換規(guī)則就可以實(shí)現(xiàn)二進(jìn)制編碼:A.將**替換成#;B.將#.替換成#.0;C.將*.替換成.1;D.將#替換成*。

大家可以用13來測(cè)試一下,初始字符串是*************.(注意字符串最后的點(diǎn))。最后得到的字符串是:.1101。

可以看出,以上替換過程其實(shí)還是用了“除二取余”的方法,對(duì)于任何個(gè)數(shù)的*號(hào),都可以用完全一樣的規(guī)則來實(shí)現(xiàn)生成二進(jìn)制編碼數(shù)的操作,唯一的區(qū)別就是批量進(jìn)行替換操作的次數(shù)。如果使用像Notepad++這樣帶有宏功能的文本編輯器,就更能展現(xiàn)出自動(dòng)化的替換操作的優(yōu)勢(shì)。

3.數(shù)字電路系統(tǒng)

圖2展示的是一個(gè)用“除二取余”法實(shí)現(xiàn)半自動(dòng)化二進(jìn)制數(shù)編碼的數(shù)字電路裝置,可以用Logisim模擬器進(jìn)行互動(dòng)的模擬操作。雖然看上去線路有點(diǎn)多,但其實(shí)只用到了若干異或門來做奇偶判斷,一個(gè)計(jì)數(shù)器來實(shí)現(xiàn)除二的操作,兩個(gè)移位寄存器來實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ),其原理并不復(fù)雜。在實(shí)際教學(xué)中,可由教師給出這個(gè)裝置,然后讓學(xué)生通過互動(dòng)實(shí)驗(yàn),自行摸索出操作方法。

圖2中演示了對(duì)數(shù)字9進(jìn)行二進(jìn)制編碼的初始階段,首先,記錄右下側(cè)輸出(圓形標(biāo)志)數(shù)據(jù)為1,然后將“讀數(shù)和運(yùn)算切換開關(guān)”切換為“01”表示開始運(yùn)算,連續(xù)點(diǎn)時(shí)鐘信號(hào)38次(真正的電路中,時(shí)鐘信號(hào)當(dāng)然是自動(dòng)發(fā)出的),再將“讀數(shù)和運(yùn)算切換開關(guān)”切換為“10”表示開始讀數(shù),連續(xù)點(diǎn)時(shí)鐘信號(hào)2次,記錄右下側(cè)輸出數(shù)據(jù)……以上過程反復(fù)執(zhí)行,即可得到數(shù)字9所對(duì)應(yīng)的二進(jìn)制編碼的數(shù)字。由于點(diǎn)擊的數(shù)量和順序都是固定的,所以可以看出這個(gè)電子裝置具有進(jìn)一步擴(kuò)展的能力,如能為其補(bǔ)充一個(gè)外圍控制電路,便可使之全自動(dòng)化地實(shí)現(xiàn)二進(jìn)制編碼工作。

本文提供的例子,對(duì)于如何以培養(yǎng)計(jì)算思維的目的設(shè)計(jì)項(xiàng)目活動(dòng)給出了一個(gè)有啟發(fā)性的思路:某些問題的解決工具在功能上是受到限制的,該問題的解決是通過重復(fù)批量執(zhí)行某一些規(guī)定步驟才得以實(shí)現(xiàn)的,而執(zhí)行過程中的具體步驟,又可以和某機(jī)械裝置或電子電路裝置中的狀態(tài)變化進(jìn)行對(duì)應(yīng),這樣,就使得這個(gè)項(xiàng)目活動(dòng)蘊(yùn)含與計(jì)算思維有關(guān)的抽象化、形式化、自動(dòng)化的特征。

猜你喜歡
二進(jìn)制齒輪編碼
住院病案首頁(yè)ICD編碼質(zhì)量在DRG付費(fèi)中的應(yīng)用
關(guān)于齒輪的有趣問答
有用的二進(jìn)制
用Scratch把十進(jìn)制轉(zhuǎn)為二進(jìn)制
你找到齒輪了嗎?
異性齒輪大賞
有趣的進(jìn)度
騎車上班日
高效視頻編碼幀內(nèi)快速深度決策算法
不斷修繕 建立完善的企業(yè)編碼管理體系