- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- 面向对象程序设计 VB开发工具
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
小吴为了研究冒泡排序过程中数据的“移动”情况,编写了一个VB程序,功能如下:在列表框list1中显示排序前数据(存储在数组a中),在文本框text1中输入初始位置(即下标值),单击“排序”按钮command1后,在标签label1中显示指定初始位置的数据在排序过程中的位置变化情况,排序后的数据显示在列表框list2中。程序运行界面如图所示。
实现上述功能的VB程序如下,但加框处代码有错,请改正。

Dim a(1 To 8) As Integer
Dim n As Integer
Private Sub Form_Load()
Private Sub Command1_Click()
If a(j) < a(j - 1) Then
'如果pos位置的数据参与交换,则更新pos值,记录pos变化位置
If pos = j Then
pos = j - 1
s = s + "→" + Str(pos)
_________
pos = j
s = s + "→" + Str(pos)
End If
End If
Next j
实现上述功能的VB程序如下,但加框处代码有错,请改正。

Dim a(1 To 8) As Integer
Dim n As Integer
Private Sub Form_Load()
a(1) = 30: a(2) = 47: a(3) = 30: a(4) = 72
a(5) = 70: a(6) = 23: a(7) = 99: a(8) = 24
n = 8
For i = 1 To 8
List1.AddItem a(i)
Next i
End SubPrivate Sub Command1_Click()
Dim i As Integer, j As Integer, k As Integer
Dim pos As Integer
Dim s As String
s = Text1.Text
pos = Val(Text1.Text)
For i = 1 To n – 1
For j = n To i + 1 Step -1If a(j) < a(j - 1) Then
_____________
a(j - 1) = a(j)
a(j) = k'如果pos位置的数据参与交换,则更新pos值,记录pos变化位置
If pos = j Then
pos = j - 1
s = s + "→" + Str(pos)

pos = j
s = s + "→" + Str(pos)
End If
End If
Next j
Next i
Label1.Caption = "位置变化情况:" + s
For i = 1 To n
List2.AddItem Str(a(i))
Next i
End Sub窗体上有标签LABEL1,有两个命令按钮,COMMAND1的标题是“变大”,COMMAND2的标题是“变小”。单击“变大”按钮,LABEL1中的字变大一倍,单击“变小”按钮,LABEL1中的字变小一倍。
PRIVATE SUB COMMAND1-CLICK( )
________
END SUB
PRIVATE SUB COMMAND2-CLICK( )
________
END SUB
PRIVATE SUB COMMAND1-CLICK( )
________
END SUB
PRIVATE SUB COMMAND2-CLICK( )
________
END SUB
小宇为选定班级参赛作品编写了一个VB程序,设计如下:在文本框Text1内输入5位评委对3个作品的评分数据(评委对作品的评分数据由3位十进制数组成,第1位对应作品编号,第2、3位对应作品得分,分值范围为[60,99]。如“275”表示2号作品得分75)。单击“计分”按钮后,在标签Label1中输出3个作品的平均分,在标签Label2中输出参赛的作品(选择最高平均分作品参赛,若最高平均分存在并列,则从并列作品中随机柚取)。程序运行界面如图所示。

(1)“计分”按钮的对象名为_________。
(2)程序部分代码如下,请在划线处填入合适代码。
Private Suh jf_Click( )
Dim s As String,d As String,i As Integer
Dim f1 As Single,f2 As Single,f3 As Single
s = Text1. Text
i = 1
Do While ___________
d = Mid(s,i,3)
If Mid(d,1,1) = "1” Then
f1 = f1 + Val(Mid(d,2, 2))
ElseIf Mid(d, 1, 1) = “2” Then
f2 = f2 + Val(Mid(d,2, 2))
Else
f3 = f3 + Val(Mid(d,2, 2))
End If
________________
Loop
Label1.Caption="作品1平均分为:" + Str(f1 / 5)+ “作品2平均分为:” + Str(f2 / 5)+ “作品3平均分为:” + Str(f3 / 5)
'以下省略“处理并列最高平均分,并在Labd2中输出选取的参赛作品”的代码
End Sub
(3)运行该程序时,在文本框Text1中以不同的顺序输入原评分数据:
380/295/283/170/180/385/372/285/190/180/390/384/272/170/276,单击“计分”按钮,则Label1中显示的结果__________(选填:会/不会)发生改变。

(1)“计分”按钮的对象名为_________。
(2)程序部分代码如下,请在划线处填入合适代码。
Private Suh jf_Click( )
Dim s As String,d As String,i As Integer
Dim f1 As Single,f2 As Single,f3 As Single
s = Text1. Text
i = 1
Do While ___________
d = Mid(s,i,3)
If Mid(d,1,1) = "1” Then
f1 = f1 + Val(Mid(d,2, 2))
ElseIf Mid(d, 1, 1) = “2” Then
f2 = f2 + Val(Mid(d,2, 2))
Else
f3 = f3 + Val(Mid(d,2, 2))
End If
________________
Loop
Label1.Caption="作品1平均分为:" + Str(f1 / 5)+ “作品2平均分为:” + Str(f2 / 5)+ “作品3平均分为:” + Str(f3 / 5)
'以下省略“处理并列最高平均分,并在Labd2中输出选取的参赛作品”的代码
End Sub
(3)运行该程序时,在文本框Text1中以不同的顺序输入原评分数据:
380/295/283/170/180/385/372/285/190/180/390/384/272/170/276,单击“计分”按钮,则Label1中显示的结果__________(选填:会/不会)发生改变。
在窗体上有多个文本框。影响 Text1的Tab顺序的属性是( )
A.TabStop |
B.Enabled |
C.Visible |
D.TabIndex |
下列MSGBOX使用正确的是( )
A.MSGBOX (“这”,1+16+0,“好”) |
B.MSGBOX “这”,1+16+0,“好” |
C.A=MSGBOX “这”,1+16+0,“好” |
D.MSGBOX “这”, “好”,1+16+0 |
下列说法中正确的是( )
A.PASSWORDCHAR的值可以是多个字符 |
B.MAXLENGTH的值为0时不可在文本框中输入数据 |
C.LOCKED的值为FALSE时不可以在该文本框中输入或编辑数据 |
D.同一时刻,只能有一个文本框有插入点. |