题库 高中信息

题干

小李编写一个统计学生选考科目的VB 程序,算法的基本思想是:检查每位学生选课组合的编码是否有效,对有效选择结果进行科目统计,根据各科次占有效人数的百分率求出各科排名。程序运行时,单击“显示”按钮 Commmad1,学生选课数据显示在列表框 list1 中,各科编号及对应科目名称显示列表框 list2 中,单击“统计”按钮 Commmad2,选课结果按各科百分率由高到低显示在列表框 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
上一题 下一题 0.99难度 填空题 更新时间:2019-05-28 08:39:43

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

同类题2

计算机在存储数字字符时,1个字符占1个字节(8位),现在有如下算法可以对数字字符的存储进行压缩:以每2个数字字符为一组,将其组成一个两位的十六进制数(如输入的“41”组成十六进制数41H),再转换为对应的ASCII字符进行存储。(注意:ASCII的最大值为127D,所以2个数字字符为一组时,第1个字符必须小于8,否则不合法)
例如:
输入
输出
414243
ABC
758927
不合法
 
小波用Visual Basic 6. 0软件编写了一个压缩程序,功能如下:在文本框Text1中输入需压缩数据(偶数个字符),单击“压缩”按钮,程序对压缩数据依次进行压缩处理,压缩数据显示在文本框Text2中。程序运行界面如图所示:

(1)结合程序代码,命令按钮“压缩”的对象名是_________________
(2)为实现上述功能,请在程序划线处填入合适的代码。
Private Sub cm1_Click()
Dim s1 As String,s2 As String,c1 As String,c2 As String
Dim i As Integer,k As Integer
s1 = Text1. Text
For i = 1 To Len(s1) Step 2

c1 = Mid(s1,i,1)

______________

If c1 >= “8” Then

s2 = “不合法”
Exit For  ‘跳出For循环

Else

k = _____________
s2 = s2 + Chr(k) ‘ Chr函数的作用,将ASCII码转换为字符,例Chr(65) = “A”

End If

Next i
Text2. Text = s2
End Sub
(3)若在文本框Text1中输入“61A2”,单击“压缩”按钮后,变量i的值为_________(单选,填字母:
A.3 /B.4 /C.5 /D.程序错误)。