题库 高中信息

题干

小李编写一个统计学生选考科目的 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
上一题 下一题 0.99难度 None 更新时间:2020-03-26 03:13:33

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

同类题1

小明设计了一个名为“购物街”的程序,该程序功能如下:程序开始运行时显示一张商品图片,变量x存储商品价格,在文本框“Text1”输入猜测的价格y,点击“确定”按钮,判断输入的价格y与商品价格x的大小关系,并给出提示。当输入的价格y大于或小于x时,在“猜测情况”Label5中分别显示“太大”或“太小”的提示信息,当输入的价格y等于x时在“猜测情况”Label5中显示“恭喜你猜对了!”同时“Command1”按钮变为不可用。在“Label4”显示剩余猜测次数,程序提供5次猜测机会,当猜测次数为零时“Command1”按钮变为不可用。运行界面如图所示:

图1
(1)应用程序界面设计时,为添加标签对象,应使用图1所示的“控件工具箱”中的________(填写相应编号)。代码“Private Sub Form_Load()”中的load指的是________事件。
(2)请根据题意将下列程序补充完整。
①处应填写的代码为:______________________________________
②处应填写的代码为:______________________________________
Dim x As Integer
Dim t As Integer
Private Sub Form_Load()
t=5    ’初始化猜测次数
x=14    ’初始化商品价格
Command1.Enabled=True
Label4.Caption=Str(t)
End Sub
Private Sub Command1_Click()
t=________
If t=0 Then
Command1.Enabled=False
End If
Label4.Caption=Str(t)
Dim y As Integer
y=Val(Text1.Text)
If ________ Then
Label5.Caption=“太大”
ElseIf y<x Then
Label5.Caption=“太小”
Else
Label5.Caption=“恭喜你对了!”
Command1.Enabled=False
End If
End Sub

同类题5

某数据加密方法描述如下:
(1)以字节为单位进行加密处理;
(2)将1个字节的8位二进制数分割成前4位与后4位两个二进制数;
(3)分别将上述两个4位二进制数转换为十进制数;
(4)将每个十进制数转换为1个加密字符,对应的“密码表”如下:
值(十进制)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
加密字符
I
l
i
k
e
C
H
N
P
0
s
t
c
a
r
d
 
小明按照上述方法,设计了一个字符串(仅包含ASCII字符)加密的VB程序,功能如下:单击“加密”按钮Commandl,程序依次将文本框Textl中每个字符的ASCII码值作为1个字节转换为两个加密字符,连接这些加密字符,最后在文本框Text2中输出加密结果。下表显示了字符串中一个字符的加密过程:

程序运行效果如图所示。

实现上述功能的VB程序如下:
(1)请在划线处填入合适代码。
Private Sub Command1_Click()
Dim n As Integer, s As String, i As Integer, ss As String
Dim a As Integer  '存储加密前字符的ASCII码
Dim b1 As Integer, b2 As Integer    '分别存储分割、转换后的两个十进制数
s = Text1.Text

For i =" 1" To n
a =" Asc(Mid(s," i, 1))
b1 =" a" \ 16
b2 =" a" Mod 16
ss =" ss" + Code2Char(b1) + Code2Char(b2)
Text2.Text = ss
Next i
End Sub
'十进制值转换为加密字符的函数
Function Code2Char(c As Integer) As String
Dim s As String
s = "IlikeCHNpostcard"
Code2Char =
End Function
(2)若将“密码表”中值为“0”对应的加密字符“I”改成“i”,加密后的密文可能无法解密,原因是