●为减少手工输入数字代码时发生的错误,常用的手段是在数字代码上增设校验位。例如,第二代身份证号共18位,其中左17位是数字代码,尾部一位是校验位。设i(i=1..18)表示第二代身份证号从右到左的各位编号,Ai (i=2..18)表示身份证号第i位上的数字,则校验位A1上的数字可以按如下方法计算:r=(A2W2+A3W3+...+A18W18)mod11其中,Wi=2i-1 mod 11,A1=(12 -r)mod 11如果A1 =10,则以“X”表示。设某人的身份证号代码如下表中的Ai (i=2..18

题目

●为减少手工输入数字代码时发生的错误,常用的手段是在数字代码上增设校验位。例如,第二代身份证号共18位,其中左17位是数字代码,尾部一位是校验位。

设i(i=1..18)表示第二代身份证号从右到左的各位编号,Ai (i=2..18)表示身份证

号第i位上的数字,则校验位A1上的数字可以按如下方法计算:

r=(A2W2+A3W3+...+A18W18)mod11

其中,Wi=2i-1 mod 11,A1=(12 -r)mod 11

如果A1 =10,则以“X”表示。

设某人的身份证号代码如下表中的Ai (i=2..18)所示:

则校验位A1= (65)。

(65)

A.4

B.5

C.6

D.X


相似考题
更多“ ●为减少手工输入数字代码时发生的错误,常用的手段是在数字代码上增设校验位。例如,第二代身份证号共18位,其中左17位是数字代码,尾部一位是校验位。设i(i=1..18)表示第二代身份证号从右到左的各位编号,Ai ”相关问题
  • 第1题:

    ● 在信息系统中,为防止数据偶发性错误,在数字代码上增设校验位是检测错误的常用手段。设计的原则是:查错功能强,增加存储量不多,便于自动计算校验位上的值,便于自动进行校验。

    例如,第二代身份证号共18位,其中左17位是数字代码,末位是校验位。

    (55)

    A. 0

    B. 1

    C. 2

    D. 10


    正确答案:B

  • 第2题:

    在信息系统中,为防止数据偶发性错误,在数字代码上增设校验位是检测错误的常用手段。设计的原则是:金错功能强,增加存储量不多,便于自动计算校验位上的值,便于自动进行校验。 例如,第二代身份证号共18位,其中左17位是数字代码,末位是校验位。 设i(i=1,…,18)表示第二代身份证号从右到左的编号,Ai(i=2,…,18)表示身份证号第i位上的数字,则A1校验位上的数字可以按如下方法计算(注意所有计算均在模11下进行):

    A1=(12-r)(modll) 如果A1=10,则以“X”表示。 从以上算法可知,对18位身份证号Ai=1,…,18)进行校验的方法是验证:

    是否等于______。

    A.0

    B.1

    C.2

    D.10


    正确答案:B

  • 第3题:

    使用算术级数法设计代码校验位的方案如下:原代码共4位,从左到右取权5、4、3、2;乘积和对11求模作为校验位。那么原代码为2154的的校验位是()

    A.9

    B.5

    C.2

    D.6



    ?

  • 第4题:

    阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。

    [说明]

    我国现行使用的公民身份证号码有两种,分别遵循两个国家标准:〖GB 11643-1989〗和〖GB 11643-1999〗。〖CB 11643-1989〗中规定的是15位身份证号码,排列顺序从左至右依次为:六位数字地址码,六位数字出生日期码,三位数字顺序码,其中出生日期码不包含世纪数。〖GB 11643 -1999〗中规定的是18位身份证号码,是特征组合码,它由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。其中,校验码C由本体码按如下过程求得:

    (1)计算校验码和S=a18W18+a17W17+…+a2W2,其中i表示18位身份证号,码每一位的序号,从右至左,最左侧为18,最右侧为1;ai表示身份证号码第i位上的号码;wi表示第i位上的权值,其值为2i-1模11的结果;

    (2)计算校验码值R,其值为校验和模11的结果;

    (3)根据下面对应关系找出校验码C:

    由上述计算过程可以看出,18位身份证号码中可能包含非数字的字母X(代表数字10)。下面的应用程序基于这一算法实现了身份证号码的升位查询:

    在开发过程中,显示新旧两种身份证号码的文本框(TextBox)分别名为Text1和Text2,“号码升位”按钮(CommandButton)名为Command1。

    代码中使用到的字符串函数及功能说明如下:

    (1)Len(s):获取字符串s的长度;

    (2)Left(s,1):返回字符串s左端长度为1的子串;

    (3)Right(s,1):返回字符串s右端长度为1的子串;

    (4)Mid(s,p,1):返回字符串s从第P个字符开始长度为1的子串。

    [Visual Basic代码]

    ’计算18位身份证号码

    Private Sub Commandl_Click()

    Dim code As String

    Dim S As Integer

    code = Textl. Text '提取15位身份证号码

    If Len(code) < > 15 Then

    MsgBox "ID 号码长度不正确,请检查!"

    (1)

    End If

    code = Left(code, 6) + "19" + (2) (code, 9) '年份升位

    S=0

    For i = 18 To 2 Step -1 '计算校验码和

    S = S + Clnf((3)) * (2 ^ (i - 1) Mod11)

    Next i

    (4) '计算校验码值

    Select Case S '确定校验码

    Case 0: code = code + "1"

    Case 1: code = code + "0"

    Case 2: code = code + "X"

    Case Else: code = code + CStr((5))

    End Select

    Text2. Text = code '显示18位身份证号码

    End Sub


    正确答案:(1)Exit Sub(2)Right(3)Mid(code19-i1) (4)S=S Mod 11 (5)12-S
    (1)Exit Sub(2)Right(3)Mid(code,19-i,1) (4)S=S Mod 11 (5)12-S 解析:(1)输入错误时,应即刻退出过程;
    (2)注意到“19”是夹在15位身份证号码左端6位与右端9位之间的,按照参数调用格式可以推断此处函数是Right;
    (3)此处应填入身份证号码中第i位(从左端起、序号自18递减)上的号码,它位于字符串code的第19-i位(从左端起、序号自1递增),因此可用Mid(code, 19-i,1)来获取;
    (4)略;
    (5)从校验码值与校验码的转换关系可知:当校验码值大于等于3时,校验码值与校验码之和为12。

  • 第5题:

    【单选题】()组成商品条码EAN-13

    A.前三位是国家代码;中前四位为厂商代码;中后五位为商品代码;后一位为校验位

    B.前三位是国家代码;中前五位为厂商代码;中后四位为商品代码;后一位为校验位

    C.前四位是国家代码;中前三位为厂商代码;中后五位为商品代码;后一位为校验位

    D.前三位是国家代码;中前四位为厂商代码;中后四位为商品代码;后一位为校验位


    C