相关试卷
-
1、在探究冒泡排序过程中数据的“移动”情况,小明编写了一个VB程序,功能如下:在列表框List1中显示排序前数据(存储在数组a中),在文本框Text11中输入初始位置(即下标值),单击“排序”按钮Command1后,在标鉴Label4中显示指定初始位置的数据在排序过程中的位置变化情况,排序后的数据显示在列表框List2中。程序运行界面如图所示。
实现上述功能的VB程序如下:
Dim a(1 To 8) As Integer
Dim n As Integer
Private Sub Form_Load()
'排序前的8个数据存储在数组a中,并在列表框List1中显示
'代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, k As Integer
Dim pos As Integer '变量pos存储指定数据的位置(即下标值)
Dim s As String '变量s存储pos变化情况
s = Text1.Text
pos = Val(Text1.Text)
For i = 1 To n - 1
For j = n To i + 1 Step -1
If a(j) < a(j - 1) Then
k = a(j - 1)
a(j)=a(j-1) '(2)改错
a(j) = k
'如果pos位置的数据参与交换,则更新pos值,记录pos变化情况
If pos = j Then
pos = j - 1
s = s + "→" + Str(pos)
ElseIf Then '填写代码
pos = j
s = s + "→" + Str(pos)
End If
End If
Next j
Next i
Label4.Caption = "位置变化情况:" + s
For i = 1 To n
List2.AddItem Str(a(i))
Next i
End Sub
(1)、要使程序运行后,窗体Form1标题立即自动显示为“冒泡排序程序探究”,可在(单选,填字母:A . Form_Load / B . Form_Click / C . Command_Click)事件过程中添加语句Form1.Caption=“冒泡排序程序探究”。(2)、程序代码中,加框处代码有误,请写出正确程序(3)、程序代码中,ElseIf Then 语句处代码缺失,请补充正确程序。(4)、根据程序,若在Text1中输入的初始位置为3,则Label4中显示的内容为 。 -
2、某个VB应用程序中使用如下代码读取数据库中的信息:
Dim conn As New ADODB. Connection
Dim rs As New ADODB. Recordset
Dim n as Integer
Private Sub Form_ Load()
conn. ConnectionString ="Provider= Microsoft.Ace.
OLEDB.12.0; data source ="+App. Path+"\data\data. accdb"
conn. Open
sql="select*from student"
Set rs. ActiveConnection=conn
rs. Open sql
n=0
Do while Not rs. EOF
List1.AddItem rs("name")
n=n+1
rs. MoveNext
Loop
End Sub
运行上述程序,以下说法不正确的是( )
A、当前读取的数据库文件是Data文件夹中的data.accdb文件 B、数据库中存在一个名为student的数据表 C、List1列表框中将显示指定的数据表中所有记录name字段的值 D、窗体加载完成后,读取的数据表中总记录数为n-1 -
3、有如下VB程序段(数组a各元素的初始值均为0)。
n = Len(Text1. Text)
c = 1
For i = 1 To n
s = Mid(Text1. Text, i, 1)
If s > = "0" And s < = "9" Then
a(c)= a(c)* 10 + Val(s)
Else
If a(c)> 0 Then c = c+1
End If
Next i
在文本框Text中输入“No1:X:123:Y:680:End”。执行该程序段后,数组a(2)的值为( )
A、 1 B、 2 C、 3 D、 123 -
4、某对分査找算法的VB程序段如下:
i = 1: j = 7: s = ""
key = Int(Rnd * 100)
Do While i <= j
m = (i + j) \ 2
If key = a(m) Then
s = s + "M": Exit Do 'Exit Do 表示退出循环
ElseIf key < a(m) Then
j = m - 1: s = s + "L"
Else
i = m + 1: s = s + "R"
End If
Loop
Text1.Text = s
数组元素a(1)到a(9)的值依次为“24,35,38,41,45,69,78”。若该程序段执行后,文本框Text1中显示的内容可能是( )
A、 RL B、 LMR C、 RLR D、 LRLM -
5、某VB 程序段如下:
i = 1: s = ""
Do While i <= 3
k = i : j = i + 1
Do While j <= 8
If a(j) < a(k) Then k = j
j = j + 1
Loop
If i <> k Then
t = a(i): a(i) = a(k): a(k) = t
n = n + 1
End If
s = s + Str(a(i)) : i = i + 1
Loop
Label1.Caption = Str(n) + ":" + s
数组a(1)到a(8)依次为:16,19,8,20,4,12,6,15,程序运行后,标签中显示的值为( )
A、 2:4 6 8 B、 2:8 6 4 C、 3:4 6 8 D、 3:8 6 4 -
6、有如下VB程序段:
For i=1 To 9
For j=10 To i+2 Step-1
If a(j)<a(j-2) Then
t=a(j): a(j)=a(j-2): a(j-2)=t
End If
Next j
Next i
数组元素a(1)到a(10)的值依次为“3,17,2,14,15,6,7,18,9,4”,执行该程序段后,数组元素a(8)中的值为( )
A、 3 B、 4 C、 15 D、 17 -
7、冒泡排序在某一遍加工过程中没有数据交换时,说明数据已经有序,优化程序段如下:
i = 1: flag = True
Do While i < = 4 And flag = True
flag=False
For j = 6 To i + 1 Step -1
If a(j) > a(j - 1) Then
t = a(j): a(j)=a(j-1): a(j-1) = t
flag = True
End If
Next j
i = i + 1
Loop
数组元素a(1)到a(6)的值依次为48,36,24,97,77,23,经过该程序段加工后,变量i的值是( )
A、1 B、3 C、5 D、4 -
8、超市面食区共有5种面食品种,其价格依次为6、4、5、2、3,若采用选择排序算法对其进行从小到大排序,则第二遍的排序结果是( )A、 2、3、5、6、4 B、 2、4、5、6、3 C、 2、3、6、4、5 D、 2、6、4、5、3
-
9、某书店在5所学校流动售书量(单位:本)分别是82、113、46、69、35。采用选择排序对其进行排序,若完成第一遍时的结果是82、113、46、69、35,则完成第二遍时的结果是( )A、 35、82、113、46、69 B、 113、82、46、69、35 C、 35、46、82、113、69 D、 82、113、69、46、35
-
10、将数据3、6、9、5、8、1进行一趟冒泡排序后得到的数据刚好是小杨的银行卡密码,那么小杨的银行卡密码可能是( )A、 136958 B、 369581 C、 135698 D、 316958
-
11、某书店在5所学校流动售书量(单位:本)分别是82、113、46、69、35。采用冒泡排序对其进行排序,若完成第一遍时的结果是35、82、113、46、69,则完成第二遍时的结果是( )A、 35、82、113、46、69 B、 35、46、82、69、113 C、 35、46、82、113、69 D、 35、46、69、82、113
-
12、给定两个单词Word 1和Word 2,找出从单词Word 1转换为Word 2所需的最小步数(每次操作都作为1步)。在单词Word 1上允许进行如下2种操作:
a)在任意位置删除一个字符
b)在任意位置插入一个字符
需注意:在执行插入和删除字符过程中,单词Word 1中字符的先后顺序不允许改变。
如单词“integer”转换为单词“tiger”需要4步,分别是删除字符i、n、e和插入字符i。
现编写VB程序,根据上述删除、插入字符的规则统计单词Word 1转换成单词Word 2所需的最小步数功能如下:在Text 1和Text 2中输入两个单词,单击“计算”按钮,在Label3中显示Text 1中单词转换为Text 2中单词需要的最小步数。
程序运行界面如图所示。
(1)、若在Text 1中输入byte,Text 2中输入bit,则最小步数为。(2)、请在划线处填入合适的代码。Dim k1 As Integer '单词Word 1查找的起始位置
Private Sub Command1_Click()
Dim c As String, w1 As String, w2 As String
Dim i As Integer, k2 As Integer, pos As Integer, steps As Integer
w1 = Text1. Text
w2 = Text2. Text
k1 = 1
k2 = Len(w2)
For i = 1 To Len(w2)
c = Mid(w2,i,1)
If pos <= Len(w1) And pos <> 0 Then
w1 = Mid(w1,1,pos-1)+Mid(w1,pos+1,Len(w1)-pos)
k1 = pos
k2 = k2-1
End If
Next i
steps =
Label3. Caption = “单词变换最小步数为:”+Str(steps)+ “步!”
End Sub
Function check(t As String, s As String)As Integer
'该函数用于返回字符t在字符串s中的位置
Dim m As Integer, n As Integer
m = 0
For n = To Len(s)
If t = Mid(s,n,1)Then
m = n
Exit For
End If
Next n
check = m
End Function
-
13、计算两个正整数整除后的结果,可以通过如下步骤实现:
⑴除数乘以系数1、2、4、8…,得到相应的倍数,倍数不能超过被除数;
⑵被除数减去不超过被除数的最大倍数,得到新的被除数,以及该最大倍数对应的系数;
⑶重复步骤⑵直到被除数小于除数为止;
⑷将步骤⑵中得到的系数相加即为整除的结果。例如:计算100整除9(除数9的系数及倍数见下表):
系数
1
2
4
8
16
倍数
9
18
36
72
超过被除数100
计算过程如下:
①100-72=28,系数为8;②28-18=10,系数为2;
③10-9=1,系数为1;④1<9计算结束,整除的结果为:8+2+1=11。
程序运行界面如图所示。
(1)、窗体中文字“被除数:”属于(选填,填字母:A . 文本框/B . 标签/C . 列表框)类的对象。(2)、实现上述功能的VB程序如下,请在橫线处填入合适的代码。
Private Sub Command1_Click()Dims As Long, s1 As Long, t As Long, k As Long
Dim zc As Long, i As Integer
Dim a(1 To 50)As Long '数组a用于存储除数的倍数
s=Val(Text1.Text) '被除数
s1=s
t=Val(Text2.Text) '除数
k=1:i=0
Do While k*t<=s1
i=i+1
a(i)=k*t
Loop
zc=0
Do While
'改错If s1>=a(i) Then
s1=s1-a(i)
zc=zc+
End If
i=i-1
Loop
Label3.Caption=Str(s)+ “整除”+Str(t)+”的结果为:”+
End Sub
(3)、程序中加框处代码有错,请改正。 -
14、小刘创作了主题为“抗疫”的多媒体作品。他首先使用Photoshop软件制作了一张图片,然后使用Flash软件制作动画。请回答下列问题:
(1)、如上图所示,当前状态下,下列操作可行的是(多选,填字母;A . 删除“针筒”图层/B . 调整“背景”图层的不透明度/C . 使用“自由变换”操作改变“抗击新冠”图层中的文字大小/D . 给“医生”图层直接添加滤镜效果/E . 将文件保存为JPEG格式,以便下次继续分图层进行修改。)(2)、若将该场景完整播放一次的时长缩短为原来的3/4,则应将帧频设置为fps。(3)、如下图所示,“病毒”图层第1帧至第15帧实现了一个病毒分裂为多个病毒的动画效果,该动画类型为(单选,填字母:A . 动画补间/B . 形状补间/C . 逐帧动画)
(4)、“医生”图层中的动画从第1帧就开始出现,若要使该动画在“病毒”图层分裂动画效果结束的同时出现,则应进行的操作是。(5)、测试影片时,出现了如下图所示错误提示。
下列说法正确的是(多选,填字母:A . 此错误是因为脚本缺少了鼠标事件/B . 此错误是因为gotoAndPlay(“end, 1)中的数字1没有加双引号/C . 脚本gotoAndPlay(“end,1);被添加在第60帧关键帧上/D . 将脚本修改为“on(press)(gotoAndStop(“end”, 1);Play()}”可以实现跳转到“end”场景第1帧并播放)
-
15、某地区对疫情期间每周的防护物资出入库进行统计,其中一周的统计数据如下图表格所示。
请回答下列问题:
(1)、如上图表格所示,L3单元格的数据是用K3单元格的公式自动填充得到的,则K3单元格输入的公式为=AVERAGEIF($B$3:$B$51,)。(2)、若要在A2:H51区域仅筛选出所有口罩的数据,筛选界面如下图所示,“1”处应填入的内容为。
(3)、利用J2:L9中的数据建立一张“3.11-3.17防疫物资出入库均量比较图”,如下图所示,下列操作不会导致图表柱形区域发生改变的是(多选,填字母:A . 进行第⑵小题的筛选操作/B . K3:L9区域的数据格式设置为保留0位小数/C . 将D3单元格的数据修改为“6500”/D . A2:H51区域以“品名”为主要关键字进行升序排列)
-
16、某对分查找算法的VB程序段如下:
i=1:j=10:k=0
key=Val(Text1.Text)
Do While i<=j
k=k+1
m=(i+j+1)\2
If a(m)<key Then
i=m+1
Else
j=m-1
End If
Loop
数组元素a(1)到a(10)的值依次为10,12,14,17,19,20,20,27,29,32。在文本框Text1中输入12,执行该程序段后,以下变量值正确的是( )。
A、i=1 B、j=1 C、m=2 D、k=3 -
17、若一个字符串从左往右读和从右往左读相同,则称为回文字符串,如abcba。以下程序段用于在忽略空格的前提下判断字符串s是否为回文字符串。
left=1:right=Len(s):flag =True
Do While left< right And flag
If Mid(s,left,1)=Mid(s,right,1)Then
left=left+1:right=right-1
Else
( )
End If
Loop
If flag Then Label1. Caption= “回文”Else Label 1. Caption= “不是回文”
括号中的代码由以下三部分组成:
①If Mid(s,left,1)<> “”And Mid(s,right,1)<> “”Then flag=False
②If Mid(s,left,1)= “”Then left=left+1
③If Mid(s,right,1)= “”Then right=right-1
代码顺序正确的是( )。
A、①③② B、③②① C、②①③ D、③①② -
18、有如下VB程序段:
For i = 1 To 5
B(i)=a(i)
Next i
For i= 2 To 5
If a(i)+b(i-1)>a(i) Then b(i)=a(i)+b(i-1)
Next i
数组元素a(1)到a(5)的值依次为5,-1,9,2,-7,执行该程序段后,数组变量b(4)的值为( )。
A、4 B、5 C、11 D、15 -
19、采用冒泡排序算法对数据序列4,5,1,2,3,0完成降序排序,则需要交换的次数是( )。A、4次 B、5次 C、11次 D、15次
-
20、下列选项中,执行程序段后变量s的值不相同的一项是( )。A、
B、
C、
D、