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

?

基于Excel實現(xiàn)書號校驗碼的驗證

2016-09-05 09:53王劍波鐘勁松
中國管理信息化 2016年13期
關(guān)鍵詞:書號校驗碼位數(shù)

王劍波,鐘勁松

(湖南教育出版社,長沙410007)

基于Excel實現(xiàn)書號校驗碼的驗證

王劍波,鐘勁松

(湖南教育出版社,長沙410007)

本文利用Excel軟件實現(xiàn)書號(ISBN 10,13位)校驗碼的驗證,并給出了具體的流程圖和主要算法語句。本系統(tǒng)可批量驗證書號和校驗碼的正確性,提高了出版工作的效率。

Excel;ISBN;校驗碼

1 書號(ISBN)簡介

書號,即國際標(biāo)準(zhǔn)書號(Intetnationa1 Standatd Book Numbet),簡稱ISBN,是國際通用的圖書或獨立的出版物代碼,是出版物唯一的身份標(biāo)識,是出版物發(fā)行和流通的國際通行證,其重要性相當(dāng)于一個人的身份證和護照。

國際標(biāo)準(zhǔn)書號號碼由13位數(shù)字組成,并以四個連接號或四個空格加以分割,每組數(shù)字都有固定的含義。2007年1月1日之前圖書的標(biāo)準(zhǔn)書號是10位,2007年1月1日以后,所有的10位書號圖書前加上“978”后重新計算校驗碼,轉(zhuǎn)換成13位書號的形式。圖1為某圖書的書號,書號中的具體段的含義如下:

第一組:978;

第二組:國家、語言或區(qū)位碼;

圖1 某圖書書號條碼

第三組:出版社代號,由國家或地區(qū)的國際標(biāo)準(zhǔn)書號分配中心分給出版社;

第四組:圖書編號,由出版社具體給出;第五組:校驗碼,只有一位,從0到9。

2 校驗碼的作用

ISBN的最后一位數(shù)字是校驗碼(check-digit),校驗碼用來檢驗前面數(shù)字是否準(zhǔn)確,這也是辨別盜版書籍、識別真假、保護知識產(chǎn)權(quán)的一種有效方法。

3 校驗碼的計算

3.1圖書書號10位校驗碼的算法

第一步計算加權(quán)和:將ISBN號碼前9位數(shù)字分別乘以10,9,8,7,6,5,4,3,2,然后將它們相加,得到加權(quán)和(設(shè)該加權(quán)和為S);

第二步計算余數(shù):將第一步得到的和(S)除以11,取其余數(shù)(設(shè)該余數(shù)為M);

第三步計算校驗碼:用11減去第二步得到的余數(shù)(M),所得之差就是校驗碼(N)。

說明:校驗碼只有一位,從0到10,其中余數(shù)是10時校驗碼用X代替。

[例1]書號為7-5064-2595-5的圖書校驗碼計算方法如圖2所示。

圖2 圖書校驗碼計算方法(例1)

3.2圖書書號13位校驗碼的算法

第一步計算加權(quán)和:用1分別乘ISBN的前12位中的奇數(shù)位,用3乘以偶數(shù)位,然后將兩者相加,即得到加權(quán)和(設(shè)該加權(quán)和為S);

第二步計算余數(shù):即將第一步得到的加權(quán)和除以10,取其余數(shù)(設(shè)該余數(shù)為M);

第三步計算校驗碼:即用10減去第二步得到的余數(shù),所得之差就是校驗碼。同樣,余數(shù)為10時校驗碼用X表示。

[例2]書號為978-7-5064-2595-7的圖書校驗碼的計算方法如圖3所示。

圖3 圖書書號校驗碼計算方法(例2)

4 基于ExCel實現(xiàn)圖書校驗碼的驗證

圖書的校驗碼的驗證框圖如圖4所示。

圖4 圖書書號校驗碼驗證框圖

利用Exce1實現(xiàn)書號校驗碼驗證的主要代碼如下:

第一步:標(biāo)準(zhǔn)化輸入的書號,去掉單元格A3中書號的“-”和空格””符號。

B3=SUBSTITUTE((SUBSTITUTE(A3,"-","")),"","")第二步:判斷B3單元格中書號的位數(shù),如果書號的位數(shù)不是10或13,且書號的前9位或者前12位必須為數(shù)字,返回數(shù)值“0”,否則,返回數(shù)值“1”。

=IF(ISERROR(B3*1),0,IF(OR(LEN(B3)=10,LEN(B3)= 13),1,0))

第三步:如果B3單元格返回值為“1”,表示書號的位數(shù)正確,且由數(shù)字組成,否則顯示書號錯誤。接下來對書號校驗碼進行計算,計算時先判斷書號的長度,如果為10位,則采用10位校驗碼的計算方法;如果為13位,則采用13位校驗碼的計算方法。

//ISBN10位數(shù)的校驗碼計算方法

=IF((11-MOD(SUMPRODUCT(MID(B3,{1;2;3;4;5;6;7;8;9},1)*({10;9;8;7;6;5;4;3;2})),11))=10,”X”,(11-MOD(SUMPRODUCT(MID(B3,{1;2;3;4;5;6;7;8;9},1)*({10;9;8; 7;6;5;4;3;2})),11))

//ISBN13位數(shù)的校驗碼計算方法MOD10

=10-MOD(SUMPRODUCT(MID(B3,{1;2;3;4;5;6;7;8;9;10;11;12},1)*({1;3;1;3;1;3;1;3;1;3;1;3})),10)

第四步:比較單元格C3中的數(shù)字或者符號,是否與B3最后一個數(shù)字或者字母相同。如果相同,則返回“校驗碼正確”,否則返回“校驗碼錯誤”,并把結(jié)果顯示在單元格D3中。

//比較結(jié)果,計算結(jié)果是否與單元格B3最后一位數(shù)字或符號相同

=IF(IF(RIGHT(B3,1)="X",VALUE(C3)=10),

"校驗碼正確",IF(C3=VALUE(RIGHT(B3,1)),"校驗碼正確","校驗碼錯誤"))

本系統(tǒng)不僅可以批量地檢測圖書的檢驗碼,還可以生成新的正確的校驗碼,如圖5所示。

圖5 圖書書號校驗碼核對

現(xiàn)代社會高度信息化,作為出版行業(yè)的從業(yè)者需要熟悉使用Exce1,使用Exce1編制一些簡單的應(yīng)用程序來提高工作效率。譬如開發(fā)圖書成本的計算,書號、刊號校驗碼的驗證和計算小程序等等。充分利用這些小程序,高效、準(zhǔn)確地完成任務(wù),擠出更多的時間來完成創(chuàng)造性的任務(wù)。

10.3969/j.issn.1673-0194.2016.13.042

F273

A

1673-0194(2016)13-0082-03

2016-02-23

猜你喜歡
書號校驗碼位數(shù)
身份證號碼中的數(shù)學(xué)知識
我國書號管理制度:功能、效果及反思
五次完全冪的少位數(shù)三進制展開
英美書號的管理現(xiàn)狀
基于FPGA的循環(huán)冗余校驗碼設(shè)計
身份證號碼中的數(shù)學(xué)
版權(quán)頁里的學(xué)問、問題與維權(quán)意識的樹立
遙感衛(wèi)星CCD相機量化位數(shù)的選擇
“判斷整數(shù)的位數(shù)”的算法分析
基于分位數(shù)回歸的剪切波速變化規(guī)律
达尔| 天镇县| 孟州市| 沈丘县| 武川县| 卓尼县| 马山县| 盐山县| 石屏县| 隆林| 宣武区| 肇庆市| 合川市| 淳化县| 安泽县| 栖霞市| 德格县| 蓝田县| 汉源县| 城口县| 平远县| 永嘉县| 章丘市| 绥棱县| 新闻| 陇川县| 长沙县| 庆安县| 西乡县| 泰兴市| 湟源县| 上蔡县| 武功县| 仪征市| 苍溪县| 怀仁县| 老河口市| 普兰县| 新巴尔虎右旗| 秭归县| 富顺县|