修改时间:2024-07-13 浏览次数:333 类型:期末考试
n=0:i=1:j=8
Key=Val(Text1.Text)
Do While i<=j
m=(i+j)\2
If Key=d(m)Then Exit Do ‘Exit Do退出循环
If Key>d(m)Then
j=m-1:n=n-1
Else
i=m+1:n=n+1
End If
Loop
Label1.Caption=Str(n)
当输A不同的Key值,运行该程序段后,在标签Label1中显示的不同结果共有:( )
A.先按得分降序排序,再筛选出班级包含高二的记录,第1条记录即为高二一等奖
B.筛选出开头是高二的班级,再按得分升序排序,最后一条记录即为高二一等奖
C.先筛选出班级包含高二的记录,再筛选得分为最大的一项,筛选结果即为高二一等奖
D.先筛选出得分最大的一项记录,再筛选出班级包含高二的记录,筛选结果即为高二一等奖
实现上述功能的VB程序如下:
Const n=10
Dim a(1 To 10)As Integer
Private Sub Command1 Click()
For i=1 To n
‘①
List1.Addltem Str(a(i))
Next i
End Sub
Private Sub Command2 Click()
tmp=1
For i=1 To n-1
For j=n To i+1 Step-1
If >0 Then ①
t=a(j):a(j)=a(j-1):a(j-1)=t
End If
Next j
②
Next i
For i=1 To 10
List2.Addltem Str(a(i))
Next i
End Sub
① ②
成绩 |
1-20 |
21-40 |
41-60 |
61-80 |
81-100 |
星级 |
一星 |
二星 |
三星 |
四星 |
五星 |
要求依据上表统计出各星级学生人数占总人数的比例。小王编写了一个VB程序实现该功能:程序运行时,每位学生的得分存储到数组a中,并在列表框list1中显示,单击命令按钮后,在列表框list2中显示各星级的人数占总人数的百分比例。
程序运行界面如图所示:
Const n=50
Dim a(1 To n)As Integer
Dim b(0 To 4)As Integer
Private Sub Form Load()
Dim adocn As New ADODB.Connection
Dim adors As New ADODB.Recordset
Dim str1,str2 As String
adocn.ConnectionString =”provider=microsoft.ace.oledb.12.0:data source=”+ App.Path+”\school.accdb”
adocn.Open
str2=”select*from student”
adors.Open str2,adocn
‘以下将每个学生的得分读入数组a中,并在列表框list1中显示,代码略
End Sub
Private Sub Com1 Cl ick ()
Dim dd As String
Dim cou As Single
Dim t as integer
dd=”一星二星三星四星五星”
For i=1 To n
t=
h(t)=b(t)+1
Next i
For i=0 To 4
COU=Int(b(i)/n*100+0.5)
list2.Addltem +Str(cou)+”%”
Next i
End Sub
试题篮