學習重點 掌握轉碼順序:舊制先去掉最後一碼,保留前九碼,再於最前面加上978,形成新制前十二碼。 正確對齊權重:從新制最左邊開始編位置,奇數位置乘1、偶數位置乘3,逐項相乘後加總。 區分三個量:S是完整加權和,M是S的個位數(即S除以10的餘數),C才是最後要附上的檢查碼。 熟練補足整十:檢查碼讓S+C成為10的倍數;若S已是10的倍數,檢查碼就是0。 養成驗算習慣:依序檢查碼數、權重及整除條件,確保轉碼與計算一致。 核心觀念 一、ISBN新舊制轉換:保留資料部分,重新計算檢查碼 國際標準書號(ISBN)自2007年起由十碼制(舊制)改為十三碼制(新制)。舊制ISBN共十碼,其中最後一碼是舊制檢查碼;轉成十三碼時,必須先將它去掉,保留前九碼,再加上978前綴,最後依新制規則重新計算檢查碼。 新制十三碼=978+舊制前九碼+新制檢查碼。這裡的「+」表示依序接在一起,不是將數值相加。前綴三碼加上保留的九碼,恰好形成十二碼,再接一碼檢查碼,才得到完整十三碼。 先忽略書號中的連字號,確認十個數字的先後順序。 刪除舊制最右邊的一碼,只保留前九碼。 在這九碼前接上978,確認目前共有十二碼。 依新制權重計算檢查碼,附在最右邊。 連字號只是分隔符號,不算一碼,也不參與計算。若保留的數字中有0,也必須保留該位置,不能省略,否則後續數字的位置與權重都會改變。舊制檢查碼有時會出現英文字母X,但它屬於被刪除的最後一碼,不影響新制計算。 二、加權和:由新制最左端重新編位置 將新制前十二碼依序記為a₁、a₂、……、a₁₂。從最左邊的9開始,權重依序為1、3、1、3,持續交替到最右邊。也就是奇數位置乘1,偶數位置乘3,第十二碼乘3。 新制位置所乘權重計算內容 1、3、5、7、9、111將這六個位置的數字相加 2、4、6、8、10、123將這六個位置的數字相加,再乘3 加權和的完整算式為:S=a₁+3a₂+a₃+3a₄+a₅+3a₆+a₇+3a₈+a₉+3a₁₀+a₁₁+3a₁₂。 實際計算時,可先令A為奇數位置數字之和、B為偶數位置數字之和,再算S=A+3B。這種分組算法與逐項相乘完全相同,通常更容易檢查是否漏碼或配錯權重。 要特別留意,978也在前十二碼之內,必須參與加權。前綴的固定貢獻為9×1+7×3+8×1=38。接在978後面的舊制首碼,已經位於新制的第四個位置,因此應乘3;舊制第二碼位於第五位置乘1,依此交替。 三、檢查碼:取個位數,再補成10的倍數 算出S後,取它的個位數,記為M;這也就是S除以10的餘數。檢查碼C=10-M,使S+C能被10整除;若算出C=10,則檢查碼記為0。 S的個位數M檢查碼C判斷方式 1到910-M補到下一個10的倍數 00(10-0=10,規定改記為0)已是10的倍數,不必再補 例如,若S=137,則M=7,檢查碼為3;若S=140,則M=0,檢查碼為0。檢查碼只能占一個位置,所以不能把10寫成檢查碼。 使用模運算可統一表示為:C=(10-(S mod 10))mod 10。其中「mod 10」表示取除以10後的餘數;外層再取一次餘數,就是為了將算出的10轉成0。 四、完整演算示範與作答格式 假設轉碼後的前十二碼為978957123456,可先按照位置拆成兩組: 奇數位置和:A=9+8+5+1+3+5=31。 偶數位置和:B=7+9+7+2+4+6=35。 加權和:S=31+3×35=136。 個位數M=6,因此C=10-6=4。 驗算:136+4=140,能被10整除,故完整十三碼為9789571234564。 申論作答宜保留關鍵過程:求前十二碼時,寫出「刪去舊制末碼、前接978」的串接結果;求S時,列出逐項加權算式或分組算式及總和;求檢查碼時,交代M與C的關係,並可附上S+C為10的倍數的驗算。如此能讓閱卷者清楚看出使用的規則。 常考陷阱 直接在舊制十碼前加978:雖然也會湊成十三碼,卻保留了舊制檢查碼,沒有依新規則重算。碼數正確,不代表轉碼正確。 刪掉前九碼中的一碼:應去掉的是舊制最後一碼。先把連字號忽略,再數出前九碼,可減少看錯分組的機會。 只計算舊制保留的九碼:978也必須列入加權和;漏算前綴,就不符合題目指定的十二碼公式。 在舊制首碼重新從乘1開始:權重由新制最左端起算。978占了前三個位置,後面的數字要接續交替,不能重新起算。 把所有數字直接相加:這只得到一般數字和,沒有反映偶數位置乘3的規則。應先確認每一碼的權重,再加總。 把S、M、C混為一談:問加權和要寫完整S,不能只寫個位數;問檢查碼則要由M再求補數,不能直接把M當答案。 M=0時寫C=10:題目已規定此時改記為0。判斷關鍵是「補到10的倍數」,不是每次都要增加10。 將新檢查碼放回前十二碼重算:S只由前十二碼計算。最後驗算時直接檢查S+C是否為10的倍數即可。 記憶口訣 「舊末刪,前加九七八;奇一偶三,加總看尾巴;尾零填零,其餘補十。」 最後自問三件事:前十二碼是否齊全?權重是否一、三交替?加上檢查碼後是否整除10?依序確認,就能完成轉碼、加權和與檢查碼的計算。