試卷征集
          加入會員
          操作視頻

          【加試題】居民身份證號碼由十七位數字本體碼和一位數字校驗碼組成。從左至右依次為:六位地址碼,八位出生日期碼,三位順序碼和一位校驗碼。校驗碼生成步驟如下:
          (1)把身份證前 17 位的每個數字和加權系數相乘并累加求和。身份證號碼前17位數的加權系數見下表:
          身份證號位數 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
          加權系數 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
          (2)根據步驟(1)求得的和值,與11做取余運算得到序號,再根據序號提取校驗碼字符。如:所得和值除以11的余數為“0”,則對應的校驗碼為“1”。如下表:
          序號 0 1 2 3 4 5 6 7 8 9 10
          校驗碼 1 0 X 9 8 7 6 5 4 3 2
          若步驟(2)中提取的校驗碼和身份證號最后一位相同,則校驗通過,否則校驗失敗。
          某人根據上述原理設計了一個身份證校驗VB程序,功能如下:程序啟動時從數據庫student。accdb中讀入全校學生身份證數據(全校共15個班級),并在列表框List1中顯示,單擊“校驗”按鈕Command1,在列表框List2中輸出各班身份證號出錯學生的信息和出錯人數,若某班無出錯學生,則不顯示。程序界面如圖所示。

          實現上述功能的VB程序如下,請回答下列問題:
          (1)某人身份證號的前17位為“33900520000101007”,根據上述步驟可計算出該身份證號的第18位校驗碼是
          3
          3

          (2)請在橫線處填上合適的代碼。
          Const max=1000
          Dim n As Integer'存放學生人數
          Dim sfzh(1 To max) As String,xm(1 To max) As String
          '數組sfzh、xm分別存放學生身份證號、姓名
          Dim bj(1 To max) As Integer,flag(1 To max) As Boolean
          '數組bj、flag分別存放學生班級、身份證校驗結果
          Dim cw(1 To 15)As Integer'數組cw存放各班身份證號出錯人數
          Function check(x As String) As Boolean
          '本函數功能:校驗身份證號x,若校驗通過返回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(  )
          '本過程從數據庫中讀入指定數據到數組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“
          '本過程其它語句略,學生人數存變量n,數組cw各元素初值置為0
          End Sub
          Private Sub Command1_Click(  )
            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))+“個身份證號錯誤“
                List2.AddItem““
              End If
            Next i
          End Sub。

          【答案】3
          【解答】
          【點評】
          聲明:本試題解析著作權屬菁優網所有,未經書面同意,不得復制發布。
          發布:2024/6/27 10:35:59組卷:3引用:1難度:0.5
          相似題
          • 1.根據AQI值判斷城市的空氣質量。若城市的AQI值(整數)不超過100則空氣質量優良,否則空氣質量有污染。當輸入的AQI值為-1時則退出程序。不要更改程序結構,將題中的①②③④填入正確的語句。
            city=input(“請輸入城市名:”)
            AQI=int(input(“請輸入空氣質量指數AQI的值:”))
            ①______ AQI!=-1:
            if ②______:
            print(city,“的空氣質量優良。”)
            ③______:
            print(city,“的空氣質量有污染。”)
            city=input(“請輸入城市名:”)
            AQI=④(input(“請輸入空氣質量指數AQI的值:”))
            (1)序號①答案為
             

            A.if
            B.while
            C.for
            D.def
            (2)序號②答案為
             

            A.AQI>=100
            B.AQI<=100
            C.AQI>100
            D.AQI<100
            (3)序號③答案為
             

            A.elif
            B.break
            C.if
            D.else
            (4)序號④答案為
             

            A.int
            B.float
            C.str
            D.else

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

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

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

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

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

            發布:2025/1/2 11:0:1組卷:0引用:0難度:0.4
          APP開發者:深圳市菁優智慧教育股份有限公司| 應用名稱:菁優網 | 應用版本:5.0.7 |隱私協議|第三方SDK|用戶服務條款
          本網部分資源來源于會員上傳,除本網組織的資源外,版權歸原作者所有,如有侵犯版權,請立刻和本網聯系并提供證據,本網將在三個工作日內改正