将一组数据按大小顺序排列,处在最中间位置的一个数叫做这组数据的中位数.当数据个数n为奇数时,处于中间位置的变量值即为中位数;当个数n为偶数时,中位数则为处于中间位置的2个变量值的平均数.
小李编写一个计算中位数的VB程序:从数据库读取某一指定科目的相关数据存储在数组a中,计算并输出这组数据的中位数.
程序功能如下:在文本框Text1中输入科目名称,单击“读数据库”按钮Command1,程序从数据库读取数据;单击“输出中位数”按钮Command2,程序进行统计处理,输出结果在文本框Text2中.程序运行界面如图所示.实现以上功能的VB程序如下,请回答下列问题:
(1)分析程序,可知数据库的文件名为 students.jye.aistudents.jye.ai.
(2)请在补全合适的代码.
Dim a(1To 1000)As Integer‘存储某科目的相关数据,数组大小满足处理要求
Dim n As Integer‘该科目的学生总人数
Private Sub Command1_Click ( )
‘从数据库中读取指定科目的各相关数据,存储在数组a中
Dim conn As New ADODB.Connection,rs As New ADODB.Recordset
conn.ConnectionString=“Provider=Microsoft.ACE.OLEDB.12.0;DataSource=“+App.Path+“\students.jye.ai“
conn.Open
Set rs.ActiveConnection=conn
’本过程的其他语句略
End Sub
Private Sub Command2_Click ( )
Dim i As Integer,j As Integer,k As Integer,kt As Integer
Dim c As Integer,zws As Single
For i=1To n-1
①k=ik=i
For j=i+1To n
If a(j)>a(k) Then
kt=a(j):a(j)=a(k):a(k)=kt
End If
Next j
Next i
c=n\2
If n Mod 2=1Then
zws=②a(c)a(c)
Else
zws=(a(c)+a(c+1))/2
End If
Text2.Text=Str(zws)
End Sub.
【考点】对象的属性、方法和事件;编辑事件处理过程的代码.
【答案】students.accdb;k=i;a(c)
【解答】
【点评】
声明:本试题解析著作权属菁优网所有,未经书面同意,不得复制发布。
发布:2024/6/27 10:35:59组卷:15引用:1难度:0.3
相似题
-
1.运行列表框对象语句:List1.AddItem=“同学们好!“,会显示:同学们好!;
发布:2025/1/2 11:30:1组卷:6引用:6难度:0.9 -
2.某智能农场启用了根据土壤湿度自动控制喷淋装置进行浇水的信息系统,每隔一段时间,系统自动检测土壤湿度,当土壤湿度低于某个阈值时将自动浇水。小李为统计出某段时间内(不超过100个时间单位)系统自动控制浇水的次数和该时间段内前后两次启动自动浇水系统的最大时间间隔单位,小李进行了数据分析,他认为如果某单位时间的土壤湿度比前一单位时间的土壤湿度高并且本单位时间内没有下雨,则认为启用了浇水系统。由此他编写了一个VB程序实现该功能:在文本框Text1中输入某段时间内的湿度值,在文本框Text2中输入该段时间内对应的天气情况,单击命令按钮Command1,在文本框Text3中显示系统自动浇水次数,Text4中显示前后两次自动浇水系统启用的最大时间间隔单位。
(1)在Private Sub Command1_Click( )中,Command1、Click分别表示
(2)实现上述功能的VB程序如下,请在画线处填入合适的代码。
(3)程序中加框处代码有错,请改正。发布:2025/1/2 11:0:1组卷:0引用:1难度:0.3 -
3.小张设计了一个“加减运算练习”VB程序.界面如下图所示.单击“出题”Command1按钮显示两个运算数和运算符号,并计数.在文本框Text1中输入计算结果后单击“判断”按钮Command2,如果计算结果正确,则得分加10分,直至完成10题测试.VB程序如下,但加下横线处代码有错,请改正.
Dim n,s As Integer'n为试题计数器,s为得分
Dim a,b As Integer'a,b 为两个运算数
Dim c As String'c为运算符:“+“表示加法,“-“表示减法
Private Sub Form_Load( )n=0:
s=0
End Sub
Private Sub Command1_Click( )‘出题按钮
Randomize
n=n+1
If n<11Then
Label1.Caption=“No:“+Str(n)
a=Int(Rnd*100)'a,b为运算数,且要求a不小于b
b=Int(Rnd*100)
If a>bThen t=a:a=b:b=t'(1)
If Rnd>0.5Then c=“+“Else b=“-“'(2)
Label5.Caption=Str(a)+c+Str(b)+“=“
Text1.Text=““
Else
Command1.Caption=“完成测试“
End If
End Sub
Private Sub Command2_Click( )‘判断按钮
If c=“+“Then
If a+b=Val(Text1.Text) Then s=s+10
Else
If a+b=Val(Text1.Text)Then s=s+10'(3)
End If
Label3.Caption=“得分:“+Str(s)
End Sub.发布:2025/1/2 9:30:2组卷:6引用:2难度:0.9