学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.15
所属科目:高中信息技术
(加试题)小明编写一个身份证校验、地区查询的VB程序。功能如下:窗体加载时,自动读取数据库中地区编号及地区名称,依次存储在数组a和数组b中。当程序运行时,在文本框Text1中输入18位身份证号码,单击“校验”按钮Commandl,在文本框Text2中显示校验结果,单击“查询地区”按钮Command2,在文本框Text3中显示查询结果,运行界面如1图所示,数据库部分信息如2图所示。

生成身份证校验码的方法:

1)将身份证号码前17位数分别乘以不同的系数,乘积相加。从第1位到第17位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。
2)将相加的结果除11后,取余数。
3)余数与身份证校验码的对应表为:
余数
0
1
2
3
4
5
6
7
8
9
10
校验码
1
0
X
9
8
7
6
5
4
3
2
 
(1)实现上述功能的VB程序如下,请在划线处填入合适代码。
Dim a (1 To 3500) As String           ’定义存储地区编号的数组
Dim b (1 To 3500) As String           ’定义存储地区名称的数组
Dim n As Integer                      ’定义存储地区总数的变量
Private Sub Form_Load(       )
’本过程从数据库中依次读取地区编号(从小到大排列)和地区名称,分别存储在数组a和数组b中,地区总数存储在变量n中,并将结果显示在列表框Listl中。
’代码略
End Sub
Private Sub Commandl_CIick(     )
If Len (Text1.Text) < > 18 Then
Label4.Caption=“请输入18位身份证号”
Text1.Text=“”
Else
If Mid (Text1.Text,18,1)= _________Then
Text2.Text=“校验通过!”
Else
Text2.Text=“校验不通过!”
End If
End If
End Sub
Private Sub Command2_Click(    )
Dim i As Integer,j As Integer,m As Integer,xb As Integer
Dim key As String
key = Mid(Text1.Text,1,6)
i = 1:j = n:xb=0
Do While i <= j
m = Fix((i + j)/2)
If a(m) = key Then
xb = m
Exit Do
End If
If key < a(m) Then
j = m-1
Else
i = m+1
End If
Loop
If xb <> 0 Then
Text3.Text=__________
Else
Text3.Text=“没找到相应的地区名称!”
End If
End Sub
Public Function yanzheng (id As String) As String
Dim i As Integer,s As Long,s1 As String,s2 As String
sl=“79A584216379A5842”
s2=“10X98765432”
s=0
For i = 1 To 17
t =Mid(s1,i,1)
If t=“A”Then
s=s+10*Val(Mid(id,i,1))
Else
s=s+Val(t)*Val(Mid(id,i,1))
End If
Nexti
yanzheng=Mid(s2,__________,1)
End Function
(2)若查找地区失败,至多需比较__________次关键字。(填写具体数值)
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交