题库 高中信息

题干

为了合理有效的共享学校图书馆自修室资源,学校实行自修室座位网上预约,学生
按学号登录系统进行预约(学号编码为六位数字,第一二位代表年级,第三四位代表班级,第五 六位代表顺序号。如 030102 表示高三 1 班 2 号同学)。为了方便老师管理,预约结束由电脑进行 排位。排位规则如下:
①年级优先原则,先高三再高二最后高一
②班号优先原则,同年级的班号小的排前面
③序号优先原则,同班级同学序号小的排前面 小张根据以上要求编写了 VB 程序,程序界面如下图所示:

实现上述功能的 VB 程序代码如下,请回答下列问题:
⑴分析程序,可知调用的数据库的名称为____________________________________。
⑵请在划线处填入合适的代码。
Dim a(200) As String
Const num = 200
Dim temp As String
Private Sub Form_Load()    ‘此处代码实现将预约信息存储到数组 a(i)中
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "provider=Microsoft.AC
A.OLEDB.12.0;data source=" & App.Path & "\" &"stu.accdb"
rs.Open "select * from student"
i = 1
Do While Not rs.EOF
a(i) = rs("xuehao") 
rs.MoveNext
①____________
Loop
rs.Close
cn.Close
List1.AddItem "预约号" & "    " & "学号"
For i = 1 To num

List1.AddItem Str(i) & "    " & a(i)

Next i
End Sub
Private Sub Command1_Click()
For i = 1 To num - 1
For j = num To i + 1 Step -1
If   ②____________  Then
temp = a(j) a(j) = a(j - 1) a(j - 1) = temp
End If

Next j

Next i
List2.Clear
List2.AddItem "座位" & "    " & "学号"
For i = 1 To num
List1.AddItem Str(i) & "    " & a(i)
Next i
End Sub
Function check(x As String, y As String) As Boolean
Dim x1 As Integer, x2 As Integer, x3 As Integer
Dim y1 As Integer, y2 As Integer, y3 As Integer
x1 = Val(Mid(x, 1, 2)) : x2 = Val(Mid(x, 3, 2)) : x3 = Val(Mid(x, 5, 2))
y1 = Val(Mid(y, 1, 2)) : y2 = Val(Mid(y, 3, 2)) : y3 = Val(Mid(y, 5, 2))
If x1 < y1 Or x1 =   y1 And x2 > y2 Or    ③__________   Then
check = True
Else

check = False

End If
End Function
上一题 下一题 0.99难度 填空题 更新时间:2019-06-28 07:10:22

答案(点此获取答案解析)

同类题3

小李编写一个统计学生选考科目的 VB 程序,算法的基本思想是:检查每位学生选课组合的编码是否有效,对有效选择结果进行科目统计,根据各科占有效人数的百分率求出各科排名。程序运行时,单击“显示”按钮 Command1,学生选课数据显示在列表框 List1 中,各科编号及对应科目名称显示在列表框 List2 中,单击“统计”按钮 Command2,选课结果按各科百分率由高到低显示在列表框 List3 中,程序运行结果如图所示。

现上述功能的 VB 程序如下,请回答下列问题:
(1)学生选课的编码数据存储在数据表中,其字段名为__________________。
(2)请在划线处填入合适的代码。
Dim ach(1 To 500) As String  '存储各学生选课编码
Dim bno(1 To 10) As Integer '存储各科目编号
Dim bname(1 To 10) As String '存储各科目名称
Dim bnum(1 To 10) As Integer  '存储各科目被选次数
Dim bmc(1 To 10) As Integer '存储各科目被选的名次
Dim n As Integer, num As Integer
Private Sub Command1_Click()
Dim i As Integer, km As String
km = "物理化学生物政治历史地理技术"
Dim cn As New ADODB. Connection, rs As New
ADODB. Recordset, sql As String
cn. Open "provider=Microsoft. Jet. oledb. 4. 0;Data Source =" + App. Path + " \students. mdb"
rs. Open "select ∗ from choose", cn
Do While Not rs. EOF
n = n + 1 : ach(n) = rs. Fields("subject") : rs. MoveNext
Loop
rs. Close: cn. Close
Set rs = Nothing
Set cn = Nothing
For i = 1 To 7
bno(i) = i: bname(i) = Mid(km, (i - 1) ∗2 + 1, 2)
List2. AddItem Str (bno (i)) + " - - -" +bname(i)
Next i
End Sub
Private Sub Command2_Click()
Dim i As Integer, j As Integer, k As Integer
Dim c As String, per As Integer
For i = 1 To n
If check(ach(i)) =True Then
For j = 1 To 3
c = Mid(ach(i), j, 1)
bnum(Val(c)) = _________
Next j
num = num + 1
End If
Next i
i = 1
Do While i <= 7  '该循环得到各学科被选人数的名次
bmc(i) = 1
For j = 1 To 7
If bnum(j) > bnum(i) Then __________
Next j
i = i + 1
Loop
For i = 1 To 7
For j = 1 To 7
If _________Then
per = Int(bnum(j) ∗ 100 / num ∗ 100)/ 100
List3. AddItem Str(bno(j)) + "---" +bname(j) + "---" + Str(per) + "%"
End If
Next j
Next i
End Sub
Function check(s As String) As Boolean
'代码略,若学生选科代码有效,函数返回 True,否则返回 False
End Function

同类题4

数组 a 存储降序排列的 m 个数据,数组 b 中存储的是升序排列的 n 个数据,且两个数组中存储的数据为区间1,20范围内的不重复的随机整数。现将两个数组的数据合并到 c 数组中,使 c 数组的数据为左右交替上升,如下表所示:

当窗体 Form1 加载时,自动产生 a、b 数组的数据,并分别显示在列表框 List1 与 List2
中,单击合并按钮 Command1 后,在 c 数组中保存按规则合并后的 a、b 数组的数据,并显示在列表框 List3 中。程序截图如下所示:

实现该功能的 VB 程序如下:
Const m = 5
Const n = 6
Dim a(1 To m) As Integer
Dim b(1 To n) As Integer
Dim c(1 To m + n) As Integer
‘窗体加载时,生成数组 a、b 中的数据,并按要求排序后显示在列表框中,代码略
Private Sub Command1_Click()
Dim pa As Integer, pb As Integer, pc As Integer, s As Integer, flag As Boolean
pa = m: pb = 1: pc = 1
flag = True
Do While ____________________  
If a(pa) < b(pb) Then

s = a(pa)

pa = pa - 1

Else

s = b(pb)

pb = pb + 1

End If
c(pc) = s
If flag Then

pc = m + n - pc + 1

Else

pc =  

End If
__________________________
Loop
‘处理 a、b 数组中剩余数据,并在列表框 List3 中输出数组 c,代码略
End Sub
(1)窗体加载的事件处理过程名为__________。(填字母:
A.Form1_Click /B.Form_Click /
C.Form1_Load /D.Form_load)
(2)加框处代码有错,请改正。 __________
(3)在划线处填入合适的代码。