- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 程序设计语言
- 循环结构
- 分支结构
- 顺序结构
- 类、对象、属性、方法、事件和事件处理的概念
- VB应用程序的界面设计与调试
- 基本数据类型
- 常量、变量、数组
- 常用的标准函数
- 基本运算及表达式
- 赋值语句
- 选择语句
- + 循环语句
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
①________________________
②________________________
③________________________
Private Sub Command1_Click()
Const n = 20
Dim a(20) As Integer
Dim data As Integer, left As Integer, right As Integer, m As Integer
Dim f As Boolean
f = True
data = Val(Text1.Text)
' 随机产生符合题意的数组a中各元素并按降序排序
For i = 1 To n - 1
①
right = n
Do While ②
If a(i) - a(m) > data Then
right = m - 1
ElseIf a(i) - a(m) < data Then
left = m + 1
Else
Text2.Text = a(i) & a(m)
③

End If
Loop
Next i
If f=True Then Text2.Text = "not find"
End Sub

实现该功能的VB程序代码如下,请在划线处填入合适代码。
Dim a(0 To 100) As Integer
Const high = 16
Private Sub Form_Load()
Randomize
For i = 1 To high
a(i) = Int(Rnd * 20) + 1
Text1.Text = Text1.Text + Str(a(i))
Next i
End Sub
Private Sub Command1_Click()
Dim p As Integer, q As Integer, t As Integer
Dim m As Integer, n As Integer, k As Integer
m = Val(Text2.Text)
For i = 1 To ①________
c = ""
For j = 1 To m
p =②________
q = i * m
k = sort(p, q)
If a(k) <> a(p) Then
t = a(p): a(p) = a(k): a(k) = t
End If
c = ③________
Next j
Text3.Text = Text3.Text + " " + c
Next i
End Sub
Function sort(f As Integer, g As Integer) As Integer
s = f
For i = f To g
If a(i) > a(s) Then
s = i
End If
Next i
sort = s
End Function

(1)要使程序启动后,窗体的标题栏显示“纪念品分组”文字,可在Form_Load事件过程中添加语句__________(单选,填字母:
A.Forml="纪念品分组"/ | B.Forml.Name="纪念品分组"/ | C.Forml.Caption="纪念品分组"/ | D.Forml.Text="纪念品分组")。 |
①___________________________________
②__________________________________
③__________________________________


(3)若在文本框Text1中输A“50,30,100,70,80,40,50,20,",文本框Tcxt2中输“110”,单击“分组”按钮,标签Labe12中显示的内容是______________
s = Text1.Text
t = 0: Sum = 0
For i = 1 To len(s)
c = Mid(s, i, 1)
If c >= "0" And c <= "9" Then
t = t * 10 + Val(c)
ElseIf c >= "a" And c <= "z" Then
Sum = Sum + t
Else
t = 0
End If
Next i
Text2.Text = Str(Sum)
在文本框Text1中输入“123aBc456”,执行程序段,文本框Text2中显示的内容是( )
A.456 | B.654 | C.579 | D.123 |
Dim w(1 To 100) As Single '依次存储1900-1999年的年平均降水量数据
Const n = 100
Private Sub Form_Load()
'本过程从数据库中按19000-1999年依次读取年平均降水量数据,并存储在数组w中
'代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, imax As Integer
imax = _______________
For i = 3 To n
If Abs(w(i) - w(i - 1)) >= Then imax = i ____________
Next i
Text1.Text = "年平均降水量变化最大的年份区间是" + Str(imax + 1889) + "-" + Str(imax + 1899)
End Sub1)原始数据中,某数不为0且相邻无重复,压缩数据用该数据表示;
2)原始数据中,某数为0且相邻无重复,压缩数据用两个数表示,第1个位0,第2个为0;
3)原始数据中,某数据相邻有重复,压缩数据用3个数表示:第1个位0,第2个为重复数的个数,第3个为该数本身;
根据上述压缩方法,对应的解压缩方法示例如图a所示。
图a
小明编写了一个解压送VB程序,功能如下:窗体加载时,自动读取压缩数据,依次存储在数组元素a(1)、a(2)、a(3)……中,压缩数据的个数存储在变量n中,压缩数据显示咋文本框Text1中。单击“解压缩”按钮Command1,程序对压缩数据依次进行解压缩处理,解压缩数据显示在文本框Text2中。程序运行界面如图b所示。图b
(1)如果压缩数据为“23,0,21,66,0,0,77,0,5,0”,则解压缩数据的个数是__________。(2)实现上述功能的VB程序如下。请在划线处填入合适代码。
Dim a(1 To 100) As Integer '存储压缩数据,最大处理个数为100
Dim b(1 To 1000) As Integer '存储解压缩数据,最大处理个数为1000
Dim n As Integer '存储压缩数据的个数
Private Sub Form_Load()
'压缩数据由上述压缩方法生成
'本过程用于读取压缩数据并存储在数组a,压缩数据个数存储在变量n中
'代码略
End Sub
Private Sub Command1_Click()
Dim pa As Integer '存储压缩数组当前处理位置
Dim pb As Integer '存储解压缩数组当前处理位置
Dim firstdata As Integer, count As Integer, i As Integer
pa = 1: pb = 1
Do While pa <= n
firstdata = a(pa)If firstdata <> 0 Then '示例1情况处理
b(pb) = firstdata
pa = pa + 1: pb = pb + 1
Else
count = a(pa + 1)
If count = 0 Then '示例2情况处理
b(pb) = 0
pa =____________: pb = pb + 1
Else '示例3情况处理
For i = 1 To count______________
Next i
pa = pa + 3: pb = pb + count
End If
End If
Loop
Text2.Text = Str(b(1))
For i = 2 To ___________
Text2.Text = Text2.Text + "," + Str(b(i))Next i
End Sub变化段:数组中相邻两个元素构成一个变化段。变化段有上升段(a(i)>a(i-1))、下降段(a(i)<a(i-1))和持平段(a(i)=a(i-1))。数组a中的n个元素可构成n-1个依次排列的变化段。
波峰:从上升段转到下降段形成一个波峰。波峰的起点是峰顶前所有连续上升段中的第1个,终点是峰顶后所有连续下降段中的最后1个。
对称波峰:上升段与下降段个数相同的波峰称为对称波峰。
下图为一组数据的变化段及波峰示意图。
(1)数组元素“1,4,3,3,2,6,8,7,9,3,4,7,9,6,3,1”依次变化过程中“对称波峰”的个数为_____。
(2)请在划线处填入合适的代码。
Const n = 20
Dim a(1 To n) As Integer
Private Sub Form_Load()
'读取数据,并存储到数组a中,代码略
End Sub
Private Sub Command1_Click()
Dim flag As Integer '存储变化段的状态:1表示升,-1表示降,0表示平
Dim count As Integer '存储对称波峰段的个数
Dim steps As Integer
Dim i As Integer
flag = 0: steps = 0: count = 0
For i = ________ To n
If a(i) > a(i - 1) Then
If IsSymPeak(flag, steps) Then count = count + 1
If flag = 0 Or flag = -1 Then
_________
Else
steps = steps + 1
End If
flag = 1
ElseIf a(i) = a(i - 1) Then
If IsSymPeak(flag, steps) Then count = count + 1
steps = 0
flag = 0
Else
steps = steps - 1flag = -1
End If
Next i
If IsSymPeak(flag, steps) Then count = count + 1
Text1.Text = Str(count)
End SubFunction IsSymPeak(flag As Integer, steps As Integer) As Boolean
If __________________ Then
IsSymPeak = True
Else
IsSymPeak = False
End If
End Function