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

?

基于歸類教學(xué)的進(jìn)制轉(zhuǎn)換算法研究

2012-04-29 00:44羅國(guó)明鐘晴江
計(jì)算機(jī)時(shí)代 2012年5期
關(guān)鍵詞:歸類程序設(shè)計(jì)

羅國(guó)明 鐘晴江

摘要: 程序設(shè)計(jì)是一門邏輯性很強(qiáng)的課程,教會(huì)學(xué)生編程關(guān)鍵是教會(huì)學(xué)生編程的思想,以及分析、解決問(wèn)題的方法。很多程序的編程思想都有類似之處。文章利用歸納法的思想,把進(jìn)制轉(zhuǎn)換歸納成具有共性的問(wèn)題進(jìn)行歸類,設(shè)計(jì)了把2、8、16進(jìn)制統(tǒng)一轉(zhuǎn)換為10進(jìn)制的算法;同樣設(shè)計(jì)了把10進(jìn)制轉(zhuǎn)換為2、8、16進(jìn)制的統(tǒng)一算法。把這種歸納法的思想應(yīng)用于教學(xué),取得了良好的教學(xué)效果。

關(guān)鍵詞: 程序設(shè)計(jì); 歸類; 進(jìn)制轉(zhuǎn)換

中圖分類號(hào):TP3-05文獻(xiàn)標(biāo)志碼:A文章編號(hào):1006-8228(2012)05-45-02

Digital conversion algorithm research based on classified teaching

Luo Guoming, Zhong Qingjiang

(Zhejiang University, Information Management Department of City College, Hangzhou, Zhejiang 310015, China)

Abstract: "Programming" is a strong logical course. how to teach students programming? The key is to teach students programming ideas, how to analyze problems and solve the problem. A lot of programming methods are similar. Using inductive method, with common problems grouped into a classified, the algorithm of transfering binary, octal, hexadecimal into decimal, decimal into a unified binary, octal, hexadecimal is developed, This same idea can be easily extended to other similar programming, and the idea of this inductive method used in teaching, has been a good teaching results obtained.

Key words: programming; classified; digital conversion

0 引言

程序設(shè)計(jì)是一門非計(jì)算機(jī)專業(yè)的公共基礎(chǔ)課。隨著對(duì)程序設(shè)計(jì)教學(xué)手段和教學(xué)方法研究和探討的不斷深入,我們的教學(xué)方法也在不斷地推進(jìn),并從平時(shí)的教學(xué)實(shí)踐中總結(jié)出很多適應(yīng)現(xiàn)代大學(xué)生的教學(xué)方法和手段。程序設(shè)計(jì)課程除了要教會(huì)學(xué)生如何思考問(wèn)題、分析問(wèn)題、解決問(wèn)題,還必須教會(huì)學(xué)生一些程序設(shè)計(jì)的關(guān)鍵算法,教會(huì)學(xué)生能從問(wèn)題中分析并提取關(guān)鍵因素,然后把具有共同特性的一類問(wèn)題歸結(jié)為一個(gè)算法。本文以進(jìn)制轉(zhuǎn)換的算法為例,從教學(xué)的角度探討了進(jìn)制轉(zhuǎn)換算法的歸類實(shí)現(xiàn)思想[1]。由于篇幅關(guān)系,我們只討論整數(shù)部分的進(jìn)制轉(zhuǎn)換。

1 把2、8、16進(jìn)制轉(zhuǎn)化為10進(jìn)制的統(tǒng)一算法

我們用進(jìn)位計(jì)數(shù)制來(lái)說(shuō)明2、8、16進(jìn)制轉(zhuǎn)化為10進(jìn)制的方法。

進(jìn)位計(jì)數(shù)制是人們利用符號(hào)來(lái)計(jì)數(shù)的一種方法。進(jìn)位計(jì)數(shù)制使用了一組數(shù)碼符號(hào)、基數(shù)和位權(quán)[2]。

⑴ 數(shù)碼:用不同的數(shù)字符號(hào)來(lái)表示一種數(shù)制的數(shù)值,這些數(shù)字符號(hào)稱為“數(shù)碼”。

⑵ 基數(shù):進(jìn)位計(jì)數(shù)制的每位數(shù)上可能有的數(shù)碼個(gè)數(shù)稱為“基數(shù)”。

⑶ 位權(quán):在一個(gè)數(shù)中,同一個(gè)數(shù)碼處于不同位置則表示不同的值,把基數(shù)的某次冪稱為“位權(quán)”。

按照數(shù)碼、基數(shù)和位權(quán),如果把(11111)2轉(zhuǎn)化為十進(jìn)制,可以寫成以下公式:

(11111)2=1*24+1*23+1*22+1*21+1*20=(15)10

從該公式不難歸納得到以下的2進(jìn)制轉(zhuǎn)化為10進(jìn)制的公式:

(B)2=Bn*2n-1+Bn-1*2n-2+···+B2*21+B1*20

從該式同樣可得到以下8、16進(jìn)制轉(zhuǎn)換為10進(jìn)制的公式:

(O)8=On*8n-1+On-1*8n-2+···+O2*81+O1*80

(H)16=Hn*16n-1+Hn-1*16n-2+···+H2*161+H1*160

同樣,從以上公式我們?nèi)菀讱w納出二、八、十六制轉(zhuǎn)化為十進(jìn)制的統(tǒng)一的表示方法:

(K)R=Kn*Rn-1+Kn-1*Rn-2+···+K2*R1+K1*R0

也可以寫成以下的形式:

其中R表示進(jìn)制基數(shù),K表示數(shù)碼,Ri-1中的i-1表示位權(quán)。例如:(12345)10=1*104+2*103+3*102+4*101+5*100

為了把算法寫成有規(guī)律的循環(huán),可把上式寫成以下的形式,例如:利用上面通項(xiàng)公式把12345的10進(jìn)制數(shù)轉(zhuǎn)換為8進(jìn)制數(shù),可以用以下公式表示:

n=(12345)10=((((y+1)*8+2)*8+3)*8+4)*8+5=(30071)8

可以把上式歸納寫成程序的循環(huán)的形式如下:

result=0;

for(i=0;num[i]!='