问答题
阅读以下标准书号校验码的技术说明和程序流程图,根据要求回答问题1至问题3。
[说明]
为实现图书的国际统一编码,便于实现计算机化的图书管理,每本正式出版的图书都印有国际标准书号。标准书号由“ISBN”、10个数字(0~9)组成,其格式如下。
ISBN 组号-出版者号-书名号-校验码
其中,校验码是根据前面9个数字计算得到的,用于计算机自动校验。假设标准书号的10个数字依次是a(1),a(2),…,a(10),则校验码a(10)的设置应使S=10*a(1)+9*a(2)+8*a(3)+…+1*a (10)能被11整除。如果校验码a(10)应设置成10,则规定以“X”表示之。
例如,《软件设计师考试考前冲刺预测卷及考点解析》的标准书号为:ISBN7-121-05027-5。第1段上的数字“7”是国际ISBN中心分配给中国ISBN中心管理的组号;第2段上的“121”表示电子工业出版社。标准书号的校验过程如图5-13所示,计算校验码的过程如图5-14所示。其中,Mod(S,11)表示S除以11得到的余数。
问答题
[问题1]
请根据标准书号校验码的技术说明,将图5-13和图5-14程序流程图中(1)~(4)空缺处的内容填补完整。
【正确答案】
【答案解析】
[问题1] 制订标准书号的目的是实现图书的国际统一编码,以便于实现计算机化的图书管理,使出版社内的图书管理、书库中的图书管理以及书店的图书销售管理具有更高的工作效率和管理水平。标准书号由“ISBN”、10个数字(0~9)组成,采用“ISBN 组号-出版者号-书名号-校验码”的格式。其中,出版者号规定为2-7位数字。对较大的出版社分配比较短的码,留出较长的书名号为较多的书进行编码。 标准书号的最后一位是校验码。设置校验码可以大大减少录入错误造成的管理混乱。校验码一般由计算机程序产生。当操作人员录入前9个数字后,计算机就会自动启动计算校验码的过程,输出正确的校验码。在书店(或书库),不论是建库还是查询检索,在手工输入带校验码的标准书号后,计算机就会自动启动校验过程,判断是否输入错误。 在图5-14计算校验码的过程中,首先要计算部分S值,即S=10*a(1)+9*a(2)+8*a(3)+…+2*a (9)。此时需要使用循环处理。在循环开始之前,应设置初始值S=0。在循环体内,应执行语句“S+=(11-I) *a(I)”或“S+=(1+I)*a(10-I)”(注意,其中的乘号“*”不要丢失)。该循环应对循环变量I=1~9进行(步长默认为1)控制,因此,(2)空缺处应填入“9”,(3)空缺处所填写的内容是“S+(11-I)*a[I]->S”或“S+(1+I)*a(10-I)->S”。 接着再计算该S值除以11的余数R。显然
问答题
[问题2]
图5-13(或图5-14)中Mod(S,11)表示S除以11得到的余数。以下[C程序]实现不使用求余计算符号“%”,求取被除数p和除数q之间的余数。
[C程序]
【正确答案】
【答案解析】
[问题2] 不使用求余计算符号“%”,求取被除数p和除数q之间的余数的C程序如下。 [C程序1]
问答题
[问题3]
假设《应试捷径——典型考题解析与考点贯通_系统分析师考试》书籍标准书号前9个数字为 7-121-04715,请写出其对应的校验码。
【正确答案】
【答案解析】
[问题3] 由题干说明可知,校验码可以是某个“0”~“9”的数字或者是符号“X”。《软件设计师考试考前冲刺预测卷及考点解析》的标准书号为:ISBN7-121-05027-5。该标准书号的校验过程如下。
余数为0,说明输入的标准书号正确。 结合[问题1]要点解析思路,若《应试捷径——典型考题解析与考点贯通_系统分析师考试》书籍标准书号前9个数字为7-121-04715,则其对应的校验码a(10)计算过程如下: ①S1=10×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 ②由于
提交答案
关闭