試卷征集
加入會(huì)員
操作視頻

【加試題】居民身份證號(hào)碼由十七位數(shù)字本體碼和一位數(shù)字校驗(yàn)碼組成。從左至右依次為:六位地址碼,八位出生日期碼,三位順序碼和一位校驗(yàn)碼。校驗(yàn)碼生成步驟如下:
(1)把身份證前 17 位的每個(gè)數(shù)字和加權(quán)系數(shù)相乘并累加求和。身份證號(hào)碼前17位數(shù)的加權(quán)系數(shù)見(jiàn)下表:
身份證號(hào)位數(shù) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
加權(quán)系數(shù) 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
(2)根據(jù)步驟(1)求得的和值,與11做取余運(yùn)算得到序號(hào),再根據(jù)序號(hào)提取校驗(yàn)碼字符。如:所得和值除以11的余數(shù)為“0”,則對(duì)應(yīng)的校驗(yàn)碼為“1”。如下表:
序號(hào) 0 1 2 3 4 5 6 7 8 9 10
校驗(yàn)碼 1 0 X 9 8 7 6 5 4 3 2
若步驟(2)中提取的校驗(yàn)碼和身份證號(hào)最后一位相同,則校驗(yàn)通過(guò),否則校驗(yàn)失敗。
某人根據(jù)上述原理設(shè)計(jì)了一個(gè)身份證校驗(yàn)VB程序,功能如下:程序啟動(dòng)時(shí)從數(shù)據(jù)庫(kù)student。accdb中讀入全校學(xué)生身份證數(shù)據(jù)(全校共15個(gè)班級(jí)),并在列表框List1中顯示,單擊“校驗(yàn)”按鈕Command1,在列表框List2中輸出各班身份證號(hào)出錯(cuò)學(xué)生的信息和出錯(cuò)人數(shù),若某班無(wú)出錯(cuò)學(xué)生,則不顯示。程序界面如圖所示。
菁優(yōu)網(wǎng)
實(shí)現(xiàn)上述功能的VB程序如下,請(qǐng)回答下列問(wèn)題:
(1)某人身份證號(hào)的前17位為“33900520000101007”,根據(jù)上述步驟可計(jì)算出該身份證號(hào)的第18位校驗(yàn)碼是
3
3
。
(2)請(qǐng)?jiān)跈M線處填上合適的代碼。
Const max=1000
Dim n As Integer'存放學(xué)生人數(shù)
Dim sfzh(1 To max) As String,xm(1 To max) As String
'數(shù)組sfzh、xm分別存放學(xué)生身份證號(hào)、姓名
Dim bj(1 To max) As Integer,flag(1 To max) As Boolean
'數(shù)組bj、flag分別存放學(xué)生班級(jí)、身份證校驗(yàn)結(jié)果
Dim cw(1 To 15)As Integer'數(shù)組cw存放各班身份證號(hào)出錯(cuò)人數(shù)
Function check(x As String) As Boolean
'本函數(shù)功能:校驗(yàn)身份證號(hào)x,若校驗(yàn)通過(guò)返回True;否則返回False
  Dim i As Integer,sum As Integer,xh As Integer,jym As String
  Dim a(1 To 18)As Integer,w(1 To 18)As Integer
jym=“10X98765432“:sum=0
  For i=18 To 2 Step-1
a(i)=Val(Mid(x,19-i,1))
  Next i
  For i=18 To 1 Step-1
w(i)=2^(i-1)Mod 11
  Next i
  For i=2 To 18
sum=sum+a(i)*w(i)
  Next i
xh=sum Mod 11
  If   =Mid(x,18,1)Then check=True Else check=False
End Function
Private Sub Form_Load( ?。?br />'本過(guò)程從數(shù)據(jù)庫(kù)中讀入指定數(shù)據(jù)到數(shù)組sfzh、xm、bj,并在List1中顯示
  Dim conn As New ADODB.Connection
  Dim rs As New ADODB.Recordset
conn.ConnectionString=“provider=microsoft.ace.jye.ai.12.0;data source=“+App.Path+“\student.jye.ai“
conn.Open
  Set rs.ActiveConnection=conn
rs.Open“select*from stu“
'本過(guò)程其它語(yǔ)句略,學(xué)生人數(shù)存變量n,數(shù)組cw各元素初值置為0
End Sub
Private Sub Command1_Click( ?。?br />  Dim i As Integer,j As Integer
  For i=1 To n
    If  check(sfzh(i)) Then flag(i)=True Else flag(i)=False
  Next i
  For i=1 To 15
    For j=1 To n
     If  bj(j)=i And flag(j)=False Then
   
 List2.AddItem sfzh(j)+““+xm(j)
     End If
    Next j
    If cw(i)>0 Then
      List2.AddItem Str(i)+“班共有以上“+Str(cw(i))+“個(gè)身份證號(hào)錯(cuò)誤“
      List2.AddItem““
    End If
  Next i
End Sub。

【答案】3
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書(shū)面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:3引用:1難度:0.5
相似題
  • 1.根據(jù)AQI值判斷城市的空氣質(zhì)量。若城市的AQI值(整數(shù))不超過(guò)100則空氣質(zhì)量?jī)?yōu)良,否則空氣質(zhì)量有污染。當(dāng)輸入的AQI值為-1時(shí)則退出程序。不要更改程序結(jié)構(gòu),將題中的①②③④填入正確的語(yǔ)句。
    city=input(“請(qǐng)輸入城市名:”)
    AQI=int(input(“請(qǐng)輸入空氣質(zhì)量指數(shù)AQI的值:”))
    ①______ AQI!=-1:
    if ②______:
    print(city,“的空氣質(zhì)量?jī)?yōu)良。”)
    ③______:
    print(city,“的空氣質(zhì)量有污染?!保?br />city=input(“請(qǐng)輸入城市名:”)
    AQI=④(input(“請(qǐng)輸入空氣質(zhì)量指數(shù)AQI的值:”))
    (1)序號(hào)①答案為
     
    。
    A.if
    B.while
    C.for
    D.def
    (2)序號(hào)②答案為
     
    。
    A.AQI>=100
    B.AQI<=100
    C.AQI>100
    D.AQI<100
    (3)序號(hào)③答案為
     

    A.elif
    B.break
    C.if
    D.else
    (4)序號(hào)④答案為
     
    。
    A.int
    B.float
    C.str
    D.else

    發(fā)布:2025/1/2 11:0:1組卷:0引用:0難度:0.4
  • 2.一球從100米高度自由落下,每次落地后反跳回原高度的一半,再下落。編寫(xiě)一個(gè)C程序,求它在第10次落地時(shí),其經(jīng)過(guò)了多少米?第10次反彈多高?

    發(fā)布:2025/1/2 11:0:1組卷:0引用:3難度:0.3
  • 3.利用海倫公式求解三角形面積。已知a,b,c為三角形的三條邊長(zhǎng),p為三角形的半周長(zhǎng),即p=(a+b+c)/2,計(jì)算此三角形面積S的海倫公式為:菁優(yōu)網(wǎng)。不要更改程序結(jié)構(gòu),將題中的①②③填入正確的語(yǔ)句。
    import math#導(dǎo)入數(shù)學(xué)模塊
    def hl(a,b,c):#定義求三角形面積的函數(shù)
    p=①
    s=math.jye.ai(②)#sqrt用于計(jì)算算術(shù)平方根
    return ③#返回面積的值
    a,b,c=3,4,5#邊長(zhǎng)依次賦值
    print(“此三角形的面積S為:“,hl(a,b,c))
    (1)序號(hào)①答案為
     

    A. (a+b+c)/2                              B.p*(p-a)*(p-b)*(p-c)
    C. (a+b+c)*2                              D.s
    (2)序號(hào)②答案為
     

    A.(a+b+c)/2                              B.p*(p-a)*(p-b)*(p-c)
    C.(a+b+c)*2                                D.(3+4+5)/2
    (3)序號(hào)③答案為
     

    A.p                                          B.s
    C.p*(p-a)*(p-b)*(p-c)                  D.0

    發(fā)布:2025/1/2 11:0:1組卷:0引用:0難度:0.4
小程序二維碼
把好題分享給你的好友吧~~
APP開(kāi)發(fā)者:深圳市菁優(yōu)智慧教育股份有限公司| 應(yīng)用名稱:菁優(yōu)網(wǎng) | 應(yīng)用版本:5.0.7 |隱私協(xié)議|第三方SDK|用戶服務(wù)條款
本網(wǎng)部分資源來(lái)源于會(huì)員上傳,除本網(wǎng)組織的資源外,版權(quán)歸原作者所有,如有侵犯版權(quán),請(qǐng)立刻和本網(wǎng)聯(lián)系并提供證據(jù),本網(wǎng)將在三個(gè)工作日內(nèi)改正