- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 程序设计语言
- 循环结构
- 分支结构
- 顺序结构
- 类、对象、属性、方法、事件和事件处理的概念
- VB应用程序的界面设计与调试
- 基本数据类型
- 常量、变量、数组
- 常用的标准函数
- 基本运算及表达式
- 赋值语句
- + 选择语句
- 循环语句
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
有如下 VB 程序段:
Private Sub Commandl_Click()
Dim s As String, res As String, ch As String
Dim i As Integer
s=Textl.Text:res="":ch=""
For i=1 To Len(s)
ch=Mid(s,i,l)
If Not(ch>="0"And ch<="9"=Then
res=ch+res
End If
Next i
Labell.Caption=res
End Sub
在文本框 Textl 中输入“Qns 2020_GK”后单击按钮 Command1,在标签Labell 中显示( )
Private Sub Commandl_Click()
Dim s As String, res As String, ch As String
Dim i As Integer
s=Textl.Text:res="":ch=""
For i=1 To Len(s)
ch=Mid(s,i,l)
If Not(ch>="0"And ch<="9"=Then
res=ch+res
End If
Next i
Labell.Caption=res
End Sub
在文本框 Textl 中输入“Qns 2020_GK”后单击按钮 Command1,在标签Labell 中显示( )
A.Qns_GK | B.QnsGK | C.KG_snQ | D.KGsnQ . |
某校教务处安排选考科目考场办法是这样的:依据上次的考试名次由小到大把考生安排到各考场(考场号从 1 开始编号),每个考场 35 人,7 行 5 列,S 形排列。为方便教务人员快速将每次考试每科考场座位表打印出来,技术组老师利用VB 编写了一个程序,相关信息、程序界面及代码如下,为实现上述功能,请回答以下问题:
(1)根据程序代码可以知道,安排考场的原始数据来自_______________数据库的_______________数据表。
(2)完善①②③处程序代码。

Dim xm (1 To 1000) As String, dayinkm (1 To 1000) As String
Dim zuhe(1 To 1000) As String,mc(0 To 1000) As Integer, n As Integer
Private Sub Command1_Click()
Dim conn As New ADODB. Connection 'conn 是数据库链接对象
Dim rs As New ADODB. Recordset 'rs 是数据记录集对象
conn. Open "Provider=Microsoft. Jet. OLEDB. 4. 0;Data Source=" & App. Path & "\xk. accdb" & ";"
Jet OLEDB:Database Password=""
strSQL = "SELECT∗FROM 2019xk"
' 考号、姓名信息存放在 xm 数组;7 选 3 选课组合存放 zuhe 数组;名次存放 mc 数组,代码略
Label3. Caption = "共有" + Str(n) + "人"
' 学生总人数存放变量 n 中
End Sub
' 下面代码是:先按名次升序排序,再筛选要打印的学科到数组 xinkm
Private Sub Command2_Click()
Dim xk(1 To 7) As Integer,t As String
For i =①_________
t1 = mc(i): t2 = xm(i): t3 = zuhe(i): j = i- 1
Do While t1 < mc(j)
mc(j + 1) = mc(j): xm(j + 1) = xm(j): zuhe (j + 1) = zuhe(j)
j = j - 1
Loop
mc(j + 1) = t1: xm(j + 1) = t2: zuhe(j + 1) = t3
Next i
'将排序后的数据输出到列表框 list1 中,代码略km = "物理化学生物政治历史地理技术":dykm =
Text1. Text
For i = 1 To 7
If②__________Then kmh = i: Exit For
Next i
k = 1
For i = 1 To n
For j = 1 To 3
If dykm = Mid(zuhe(i), 2 ∗ (j - 1) + 1,2) Then
xk(kmh) = xk(kmh) + 1
dayinkm(k) = xm(i)
k = k + 1
End If
Next j
Next i
Label2. Caption = "选考" + dykm + "学科共有" +Str(xk(kmh)) + "人"
End Sub
'将数组 dayinkm 中的数据按考场 S 形输出
Private Sub Command3_Click()
Dim kc As Integer
Dim p As Integer, q As Integer
Dim i As Integer, num As Integer, ks As Inte⁃
ger
List2. Clear
List2. AddItem "讲台"
List2. AddItem "----------"
p = 7: q = 5: kc = Val(Text2. Text)
ks = q ∗ p ∗ (kc - 1)
For i = 1 To p
ks = ks + 1
s = " " + xinkm(ks)
For j = 1 To q - 1
If j Mod 2 = 1 Then
③_________
Else
num = ks + p ∗ j
End If
If num > n Then
s = s + " "
Else
s = s + " " + xinkm(num)
End If
Next j
List2. AddItem s
List2. AddItem "----------"
Next i
End Sub
(1)根据程序代码可以知道,安排考场的原始数据来自_______________数据库的_______________数据表。
(2)完善①②③处程序代码。

Dim xm (1 To 1000) As String, dayinkm (1 To 1000) As String
Dim zuhe(1 To 1000) As String,mc(0 To 1000) As Integer, n As Integer
Private Sub Command1_Click()
Dim conn As New ADODB. Connection 'conn 是数据库链接对象
Dim rs As New ADODB. Recordset 'rs 是数据记录集对象
conn. Open "Provider=Microsoft. Jet. OLEDB. 4. 0;Data Source=" & App. Path & "\xk. accdb" & ";"
Jet OLEDB:Database Password=""
strSQL = "SELECT∗FROM 2019xk"
' 考号、姓名信息存放在 xm 数组;7 选 3 选课组合存放 zuhe 数组;名次存放 mc 数组,代码略
Label3. Caption = "共有" + Str(n) + "人"
' 学生总人数存放变量 n 中
End Sub
' 下面代码是:先按名次升序排序,再筛选要打印的学科到数组 xinkm
Private Sub Command2_Click()
Dim xk(1 To 7) As Integer,t As String
For i =①_________
t1 = mc(i): t2 = xm(i): t3 = zuhe(i): j = i- 1
Do While t1 < mc(j)
mc(j + 1) = mc(j): xm(j + 1) = xm(j): zuhe (j + 1) = zuhe(j)
j = j - 1
Loop
mc(j + 1) = t1: xm(j + 1) = t2: zuhe(j + 1) = t3
Next i
'将排序后的数据输出到列表框 list1 中,代码略km = "物理化学生物政治历史地理技术":dykm =
Text1. Text
For i = 1 To 7
If②__________Then kmh = i: Exit For
Next i
k = 1
For i = 1 To n
For j = 1 To 3
If dykm = Mid(zuhe(i), 2 ∗ (j - 1) + 1,2) Then
xk(kmh) = xk(kmh) + 1
dayinkm(k) = xm(i)
k = k + 1
End If
Next j
Next i
Label2. Caption = "选考" + dykm + "学科共有" +Str(xk(kmh)) + "人"
End Sub
'将数组 dayinkm 中的数据按考场 S 形输出
Private Sub Command3_Click()
Dim kc As Integer
Dim p As Integer, q As Integer
Dim i As Integer, num As Integer, ks As Inte⁃
ger
List2. Clear
List2. AddItem "讲台"
List2. AddItem "----------"
p = 7: q = 5: kc = Val(Text2. Text)
ks = q ∗ p ∗ (kc - 1)
For i = 1 To p
ks = ks + 1
s = " " + xinkm(ks)
For j = 1 To q - 1
If j Mod 2 = 1 Then
③_________
Else
num = ks + p ∗ j
End If
If num > n Then
s = s + " "
Else
s = s + " " + xinkm(num)
End If
Next j
List2. AddItem s
List2. AddItem "----------"
Next i
End Sub
某排序算法的 VB 程序段如下:
K=1
For i = 1 To 2
For j = 1 To 6 - 2 ∗i
If K∗a(j) < K∗a(j + 2) Then
t = a(j): a(j) = a(j + 2): a(j + 2) = t
End If
K=-K
Next j
Next i
数组元素 a(1) ~a(6)的初始值依次为“10,15,8,35,26,17”,执行该程序段后,数组 a 元素的值分别为( )
K=1
For i = 1 To 2
For j = 1 To 6 - 2 ∗i
If K∗a(j) < K∗a(j + 2) Then
t = a(j): a(j) = a(j + 2): a(j + 2) = t
End If
K=-K
Next j
Next i
数组元素 a(1) ~a(6)的初始值依次为“10,15,8,35,26,17”,执行该程序段后,数组 a 元素的值分别为( )
A.8,10,15,17,26,35 | B.35,26,17,15,10,8 |
C.26,35,10,17,8,15 | D.26,15,10,17,8,35 |
(加试题)有如下VB程序段:
a(1)=1
For i=2 To 6
Randomize
a(i)=a(i-1)+Int(Rnd*5+1)
If a(i) Mod 2=1 Then
a(i)=a(i)\2+1
EIse
a(i)=a(i)/2
End If
Next i
执行程序后,a数组各元素可能是
a(1)=1
For i=2 To 6
Randomize
a(i)=a(i-1)+Int(Rnd*5+1)
If a(i) Mod 2=1 Then
a(i)=a(i)\2+1
EIse
a(i)=a(i)/2
End If
Next i
执行程序后,a数组各元素可能是
A.1 3 4 6 7 9 | B.1 2 0 3 5 6 | C.1 2 3 4 5 4 | D.1 3 4 5 1 1 |
有如下VB程序段:
Dim x As String, y As String
Dim ans As Integer
x = "5": y="20": ans = 0
If x > y Then
ans = val(x)-1
Else
ans= Val(y)+1
ans= ans+ Val(x +y)
Text1. Text = Str(ans)
执行该程序段后,文本框Text1中显示的是( )
Dim x As String, y As String
Dim ans As Integer
x = "5": y="20": ans = 0
If x > y Then
ans = val(x)-1
Else
ans= Val(y)+1
ans= ans+ Val(x +y)
Text1. Text = Str(ans)
执行该程序段后,文本框Text1中显示的是( )
A.46 | B.29 | C.524 | D.541 |
有如下VB程序:
Private Sub Command1_Click()
Dim a(5) As Integer
Randomize
For i = 1 To 5
a(i) = 2 * Int(Rnd * 3) + 1
Next i
For i = 1 To 5
r = 2 * Int(Rnd * 3) + 1
If a(r) Mod 2 = 1 Then a(r) = a(r) + 1
Next i
End Sub
该程序段运行后,a(1)~a(5)各元素的值不可能的是( )
Private Sub Command1_Click()
Dim a(5) As Integer
Randomize
For i = 1 To 5
a(i) = 2 * Int(Rnd * 3) + 1
Next i
For i = 1 To 5
r = 2 * Int(Rnd * 3) + 1
If a(r) Mod 2 = 1 Then a(r) = a(r) + 1
Next i
End Sub
该程序段运行后,a(1)~a(5)各元素的值不可能的是( )
A.2,5,6,1,4 | B.4,1,2,3,4 |
C.5, 6,3,2,6 | D.6,5,2,1,2 |
有如下VB程序段:
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中显示的内容是( )
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 |
某数据压缩方法描述如下:
1)原始数据中,某数不为0且相邻无重复,压缩数据用该数据表示;
2)原始数据中,某数为0且相邻无重复,压缩数据用两个数表示,第1个位0,第2个为0;
3)原始数据中,某数据相邻有重复,压缩数据用3个数表示:第1个位0,第2个为重复数的个数,第3个为该数本身;
根据上述压缩方法,对应的解压缩方法示例如图a所示。
(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()
If firstdata <> 0 Then '示例1情况处理
b(pb) = firstdata
pa = pa + 1: pb = pb + 1
______________
Next i
pa = pa + 3: pb = pb + count
End If
End If
1)原始数据中,某数不为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某算法流程图如图所示, 执行该算法,当i的值为3时,下列说法正确的是( )


A.输出s的值 |
B.程序出错 |
C.执行语句s=s+s*i和i=i+1 |
D.语句s=s+s*i已经执行了1次 |