阅读以下标准书号校验码的技术说明和程序流程图,根据要求回答问题1至问题3。
[说明]
为实现图书的国际统一编码,便于实现计算机化的图书管理,每本正式出版的图书都印有国际标准书号。标准书号由“ISBN”、10个数字(0-9)组成,其格式如下。
ISBN 组号-出版者号-书名号-校验码
其中,校验码是根据前面9个数字计算得到的,用于计算机自动校验。假设标准书号的10个数字依次是a(1),a(2),…,a(10),则校验码a(10)的设置应使S=1O*a(1)+9*a(2)+8*a(3)+…+1*a(10)能被11整除。如果校验码a(10)应设置成10,则规定以“X”表示之。
例如,《软件设计师考试考前冲刺预测卷及考点解析》的标准书号为:ISBN 7-121-05027-5。第1段上的数字“7”是国际ISBN中心分配给中国ISBN中心管理的组号;第2段上的“121”表示电子工业出版社。标准书号的校验过程如图3-16所示,计算校验码的过程如图3-17所示。其中,Mod(S,11)表示S除以 11得到的余数。
图3-16 标准书号的校验过程
图3-17 计算校验码的过程
[问题3] 假设《应试捷径—典型考题解析与考点贯通(系统分析师考试)》书籍标准书号前9个数字为 7-121-04715,请写出其对应的校验码。 |
参考答案:
解析:由题干说明可知,校验码可以是0~9的数宁或者是符号“×”。《软件设计师考试考前冲刺预测卷及考点解析》的标准书号为:ISBN7-121-05027-5。该标准书号的校验过程如下。
余数为0,说明输入的标准书号正确。 结合[问题1]要点解析思路,若《应试捷径—典型考题解析与考点贯通(系统分析师考试)》书籍标准书号前9个数字为7-121-04715,则其对应的校验码a(10)的计算过程如下。 1) S1=1O×a(1)+9×a(2)+8×a(3)+7×a(4)+6×a(5)+5×a(6)+4×a(7)+3×a(8)+2×a(9) =10×7+9×1+8×2+7×1+6×0+5×4+4×7+3×1+2×5=163 2) 由于
=14...9,因此R=Mod(163,11)=9。 3) a(10)=Mod(11-R,11)=Mod(2,11)=2