- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 程序设计语言
- 循环结构
- 分支结构
- 顺序结构
- 类、对象、属性、方法、事件和事件处理的概念
- VB应用程序的界面设计与调试
- 基本数据类型
- + 常量、变量、数组
- 常用的标准函数
- 基本运算及表达式
- 赋值语句
- 选择语句
- 循环语句
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
阅读程序代码并填空。
Rem VB代码:
Dim a As Integer
Dim b As Integer
Dim c As Integer
a =3
b =5
Print "a=";a,"b=";b
c=a
a=b
b=c
Print "a=";a,"b=";b
(1)程序中起注释作用的标识符是____________。
(2)变量a、b、c 的数据类型都是___________(填写中、英文均可)。
(3)执行程序后,b的输出结果是________________。
Rem VB代码:
Dim a As Integer
Dim b As Integer
Dim c As Integer
a =3
b =5
Print "a=";a,"b=";b
c=a
a=b
b=c
Print "a=";a,"b=";b
(1)程序中起注释作用的标识符是____________。
(2)变量a、b、c 的数据类型都是___________(填写中、英文均可)。
(3)执行程序后,b的输出结果是________________。
(加试题)用一个6*5矩阵表示地图,分别用a数组元素表示,第1行从左到右为a(1)到a(6),依次类推,右下角为a(30)。其中数字0表示不通,数字1I表示畅通。现在要从左上角到右下角寻找一条畅通的路径。线路规则如F:
•路线每个位置只能向右或向下
•任何一个岔口优先向右走,右侧不通再向下走
•一条路线中每个位置只能走一次,不能重复
算法思路:探路过程中,记录每个位置坐标到数组lu;遇到岔路口(向右向下都通),则记录路口坐标到数组cha;遇到前方无路时,需要返回到上一个路口,标记路口右侧不通;当前方无路,岔路口数组也退回到0,说明整体不通,否则根据规则走到右下角为止,最后输出整体线路坐标。
实现算法的程序如下,运行结果如图所示。
回答下列问题:
(1)根据规则,如图迷宫矩阵正确路线的第6个位置是a数组的第_________个元素(填数字)

(2)在程序划线处填上合适代码,使程序完整。
Dim a(1 To 50) As Integer
Private Sub Command1_Click()
Dim i As Integer,j As Integer,pos As Integer
Dim cha(1 To 10)As Integer'记录一条路线中各个岔路口
Dim lu(1 To 10) As Integer’记录路线经过的位置
pos=1:j=0:lu(1)=1:i=1
Do While i <=9‘第1个和最后1个固定,中间有9个需要路过的路径点
j=j+1
_____________
End If
pos=pos+1
i=i+1
1u(i)=pos
Else If pos+6 <=30 And a(pos+6)=1 Then’向下畅通
pos=pos+6
i=i+1
lu(i)=pos
Else’坐标退回到上一个岔路口
If j=0 Then Exit Do
Do While lu(i)<>cha(j)
_____________
Loop
a(cha(j)+1)=0’标记此路口右侧不可用
_____________
j=j-1
End If;
Text1.Text=Text1.Text+Str(lu(i))
Next i
Private Sub Form_Load()
•路线每个位置只能向右或向下
•任何一个岔口优先向右走,右侧不通再向下走
•一条路线中每个位置只能走一次,不能重复
算法思路:探路过程中,记录每个位置坐标到数组lu;遇到岔路口(向右向下都通),则记录路口坐标到数组cha;遇到前方无路时,需要返回到上一个路口,标记路口右侧不通;当前方无路,岔路口数组也退回到0,说明整体不通,否则根据规则走到右下角为止,最后输出整体线路坐标。
实现算法的程序如下,运行结果如图所示。
回答下列问题:
(1)根据规则,如图迷宫矩阵正确路线的第6个位置是a数组的第_________个元素(填数字)

(2)在程序划线处填上合适代码,使程序完整。
Dim a(1 To 50) As Integer
Private Sub Command1_Click()
Dim i As Integer,j As Integer,pos As Integer
Dim cha(1 To 10)As Integer'记录一条路线中各个岔路口
Dim lu(1 To 10) As Integer’记录路线经过的位置
pos=1:j=0:lu(1)=1:i=1
Do While i <=9‘第1个和最后1个固定,中间有9个需要路过的路径点
If pos Mod 6<>0 And a(pos+1)=1 Then' 向右畅通
If pos+6 <=30 and a(pos+6)=1 Then‘记录岔路口j=j+1
_____________
End If
pos=pos+1
i=i+1
1u(i)=pos
Else If pos+6 <=30 And a(pos+6)=1 Then’向下畅通
pos=pos+6
i=i+1
lu(i)=pos
Else’坐标退回到上一个岔路口
If j=0 Then Exit Do
Do While lu(i)<>cha(j)
_____________
Loop
a(cha(j)+1)=0’标记此路口右侧不可用
_____________
j=j-1
End If;
Loop
If j=0 Then
Text1.Text="没有畅通道路"Else
For i=1 To 10Text1.Text=Text1.Text+Str(lu(i))
Next i
End If
End SubPrivate Sub Form_Load()
‘生成图形矩阵的数组a各个元素,并在列表框显示,代码略
End Sub某校教务处安排选考科目考场办法是这样的:依据上次的考试名次由小到大把考生安排到各考场(考场号从 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=13 b=32 a=b”关于语句“a=b”的含义,下列叙述中正确的是( )。
A.把变量a的值赋给变量b |
B.判断变量a的值是否等于变量b的值 |
C.把变量b的值赋给变量a |
D.把变量a的值与变量b的值交换 |
已知赋值语句 s="Good Bye!",则下列定义变量s正确的是( )
A.dim s as integer |
B.dim s as long |
C.dim s as double |
D.dim s as string |
关于实数X的表达式Int(X)+Int(2* X)+Int(3*X),其值为整数2019,则Int(2*X)的值是( )
A.671 | B.672 | C.673 | D.674 |
从离地500米的空中自由落下一个小球,求从开始落下的时刻起,小球在最后1秒内的位移(重力加速度g以9.8米/秒2计)。程序如下,回答以下问题。
import math
h = 500
g = 9.8
t = math.sqrt(2*h/g)
hx = g*(t-1)*(-1)/2
hh = h-hx
print(“小球最后1秒下落的位移是:”,hh,“m”)
(1)该程序代码中使用了库,库的名称是_____。
A.Limport B.math C.sqrt D.print
(2)该程序代码中使用了常量,它的名称是_____。
A.h B.t C.500 D.hh
(3)该程序代码中使用了变量hh,它的数据类型是_____。
A.int B.float C.列表 D.字符串
(4)该程序中print(“小球最后1秒下客的位移是:”,hh,“m”),其中“m”的数据类型是_____。
A.int B.float C.列表 D.字符串
(5)该程序使用了物理公式计算空中自由落下个小球的位移,采用的算法处_____。
A.解析算法 B.穷举算法 C.递归法 D.选择排序
import math
h = 500
g = 9.8
t = math.sqrt(2*h/g)
hx = g*(t-1)*(-1)/2
hh = h-hx
print(“小球最后1秒下落的位移是:”,hh,“m”)
(1)该程序代码中使用了库,库的名称是_____。
A.Limport B.math C.sqrt D.print
(2)该程序代码中使用了常量,它的名称是_____。
A.h B.t C.500 D.hh
(3)该程序代码中使用了变量hh,它的数据类型是_____。
A.int B.float C.列表 D.字符串
(4)该程序中print(“小球最后1秒下客的位移是:”,hh,“m”),其中“m”的数据类型是_____。
A.int B.float C.列表 D.字符串
(5)该程序使用了物理公式计算空中自由落下个小球的位移,采用的算法处_____。
A.解析算法 B.穷举算法 C.递归法 D.选择排序