相关试卷
-
1、某算法的部分流程图如图所示,执行这部分流程后,s的值为( )
A、27 B、10 C、37 D、18 -
2、某算法的部分流程图如图所示,执行这部分流程后,变量x的值是( )
A、5 B、4 C、6 D、10 -
3、某算法的部分流程图如图所示,执行这部分流程,变量s的值为( )
A、10 B、24 C、6 D、23 -
4、数组a中存储了n个学生的学号和成绩数据,其中奇数位置存储学号信息,偶数位置存储成绩信息,数组存储结构如图a所示:
图a排序前数组a存储结构
小迪同学使用选择排序思想对上述n个同学按成绩进行降序排序(成绩相同的按学号升序排列),并依据成绩插入各位同学的名次信息,处理结束的数组a结构如图b所示:
图b排序后数组a存储结构
小迪同学使用VB编写了成绩处理程序,程序运行界面如图c所示:
图 c
实现上述功能的VB程序如下,请回答下列问题。
Const n = 20
Dim a(1 To 3 * n)As Integer
Private Sub Command1_Click()
'读取数据,存储在数组a中,并显示在列表框List1中
'代码略
End Sub
Private Sub Command 2_Click()
‘①改错k = i
For j= 1 Toi-1
If a(2 * j)<a(2 * k)Or ② Then
k = j
End If
Next j
a(3 * i)= a(2 * k)
a(3 * i-1)= a(2 * k-1)
③
a(2 * k- 1)= a(2 * i- 1)
Next i
Lisi2.Addltem"第1名:学号"+ CStr(a(2))+",分数"+Str(a(3))
a(1)=1
mc=1
For i=2 To n
If ④ Then mc = i
List2.Addltem"第"+Str(me)+"名:学号"+CStr(a(3 * i-1))+",分数"+Str(a(3 *
i))
a(3 * i-2)= mc
Next i
End Sub
(1)、已知窗体名称为Form1,要使程序加载时,窗体标题自动显示为“第15题程序”,则可在____(单选,填字母)事件过程中添加代码:Form1.Caption=“第15题程序”。A、Form_Click() B、Form_Load() C、Form1_Click() D、Form1_Load()(2)、程序加框处For循环语句有错,请改正。(3)、请将程序②③④划线处代码补充完整。②③④
-
5、小王编写“合并区间”VB程序,功能如下:窗体加载时,获取并存储合并前的区间数据,并显示在列表框List1中。单击“合并”按钮后,以区间左端点数值对区间进行升序排序,然后相邻区间相交的进行合并,如区间[1,5]、[3,8]和[8,10]三个区间可合并成[1,10]一个区间。最后在列表框List2上显示合并后的区间。程序运行界面如图所示:
实现以上功能的VB.程序如下,在划线处填入合适的代码。
Dim a(1 To 20)As Integer '存储区间的左端点数值
Dim b(1 To 20)As Integer '存储区间的右端点数值
Private Sub Form_Load()
‘将区间左端点存入数组a,区间右端点存入数组b,并在列表框List1显示,代码略
End Sub
Private Sub Commandl_Click()
Dim i As Integer,j As Integer
Dim curL As Integer, curR As Integer
For i=1 To n-1
For j=1 To n-i
If ① Then
t=a(j):a(j)=a(j+1):a(j+1)=t
t=b(j):b(j)=b(j+1):b(j+1)=t
End If
Next j
Next i
curL=a(1):curR=b(1)
For i=2 To n
If ② Then
If curR < b(i)Then ③
Else
List2.Addltem "["+Str(curL)+Str(curR)+"]"
curL=a(i):curR=b(i)
End If
Next i
List2.AddItem"["+Str(curL)+Str(curR)+"]"
End Sub
①②③
-
6、小明基于冒泡排序算法编写了一个VB程序,功能如下:单击“生成”按钮Command1,生成n个[10,99]内的随机整数赋值给a数组,并在列表框List1中显示。单击“排序”按钮Command2,对这组数据进行错位排序(即从前往后依次是最小的,最大的,第二小的,第二大的……依次类推)。在列表框Iist2中依次输出数据排序的结果,程序运行界面如图所示:

实现上述功能的VB程序如下:
(1)、程序测试运行后生成如下文件:A .Paixu.Fm/B .Paixu.Vbp/C .paixu.Vbw/D .Paixu.Exe,其中属于Windows系统可执行文件的是。(单选,填字母)(2)、划线处应填:Const n=10
Dim a(1 To 10)As Integer
Private Sub Commandl_Click()
For i=1 To n
Listl.AddItem Str(a(i))
Next i
End Sub
Private Sub Command 2_Click()
tmp = 1
Fori = 1 To n-1
For j = n To i + 1 Step-1
If
Then '①t= a(j):a(j)= a(j-1):a(j-1)= t
End If
Next j
'②Next i
For i=1 To 10
List2.AddItem Str(a(i))
Next i
End Sub
(3)、加框①、②处代码有错,请改正。① ②
-
7、以下VB。程序段用于读取某数据库中的数据,相应数据表结构如图所示。
Dim adoConn As New ADODB.Connection
Dim adoRs As New ADODB.Recordset
Dim a(1 To 1000)As String,b(1 To 1000)As Integer
adoConn.ConnectionString=" provider=Microsoft.ACE.OLEDB.12.
0:datasource="& App.Path& " \mydata.Accdb "
adoConn.Open
Set adoRs.ActiveConnection= adoConn
adoRs.Open "Select * From Score"
n=0
Do While Not adoRs.EOF
n=n+1
a(n)= adoRs.Fields("学号").Value
b(n)= adoRs.Fields(3).Value
adoRs.MoveNext
Loop
adoRs.Close:adoConn.Close
下列对于该程序段的理解正确的有( )
①程序连接的数据库文件名是“\mydata.accdb”
②程序打开的数据表名称是“Score”
③程序将数据表中的数学成绩存入数组b
④程序运行后,变量n的值表示该数据表中记录的总数
⑤关闭数据表的语句为adoConn.close
A、①②④ B、②③④ C、②④⑤ D、②③④⑤ -
8、有如下VB程序段:
i= 1:j = 8:n = 0
key = Val(Text1.Text)
Do While i<= j
m =(i+j)\2
If a(m)> key Then
j=m-1:n=n-1
Else
i=m+1:n=n+1
End If
Loop
数组元素a(1)到a(8)的值依次是“6,18,23,42,42,42,56,63”。若在文本框Textl中输入42,则以上程序段执行后,下列说法正确的是( )
A、变量i的值为5 B、变量j的值为6 C、变量m的值为4 D、变量n的值为2 -
9、有如下VB程序段:
i=1:j=6:s=" "
Key=Text1.Text
Do While i<=j
m=Int((i+j)/2+0.5)
s=s+" "+a(m)
If Key> a(m)Then
i=m+1
Else
j=m-1
End If
Loop
Text1.Text=s
数组元素a(1)到a(6)的值分别为“Beijing”“Cuangdong”“Jiangsu”“Jiangxi”“Shanghai”“Zhejiang”,己按字典序排序。当key的值为“Zhejiang”时,单击命令按钮Command1,文本框Text1中显示的内容为 ( )
A、Jiangxi Zhejiang B、Jiangsu Shanghai Jiangxi Zhejiang C、Jiangxi Zhejiang Shanghai D、Jiangsu Shanghai Zhejiang -
10、有如下VB程序段:
'a(1)到a(10)中的元素依次为8,3,5,9,7,5,7,6,5,4
n=10
For k=1 To n\3
p=3 * k-2
x=p
For t=p+1 To 3 * k
If a(t)<a(x)Then x=t
Next t
If p<>x Then
y=a(p):a(p)=a(x):a(x)=y
End If
Next k
程序运行结束后,以下数组元素的值错误的是( )
A、a(2)=8 B、a(5)=7 C、a(7)=3 D、a(10)=4 -
11、下列VB程序段的功能为:生成n个不重复的随机整数,保存在数组a中,并升序排序。
Const n = 6
Dim a(1 To n)As Integer,f(1 To 10)As Boolean
Dim tmp As Integer,i As Integer,j As Integer,tAs Integer
'f数组各元素的初值置为False,代码略
For i = 1 To
t = Int(1 + Rnd * 10)
If Not f(t)Then
a(i)= t:f(t)= True
For j=
If a(j) < a(j - 1)Then
tmp = a(j): a(j)= a(j-1):a(j-1)= tmp
End If
Next j
Else
End If
Next i
上述程序段3个方框处的表达式分别为 ( )
A、(1)n- 1(2)2 To i (3)i = i - 1 B、(1)n(2)i To 2 Step -1(3)i = i - 1 C、(1)n - 1(2)2 To i(3)t = Int(1 + Rnd * 10) D、(1)n(2)i To 2 Step -1(3)t = Int(1 + Rnd * 10) -
12、某对分查找算法的VB程序段如下:
i=1:j=8
k=Int(Rnd * 100)
Do While i<=j
m=(i+j+1)\2
If k=a(m)Then Exit Do
If k<=a(m)Then j=m-1 Else i=m+1
Loop
数组元素a(1)到a(8)的值依次是“13,27,36,42,48,51,66,83”,则以上程序段执行后,下列说法不可能正确的是( )
A、m=j-4 B、i=j C、j=i+1 D、j=m+1 -
13、小王为学校教务处编写了一个排考场座位的VB程序。考场采用“6排5列”共30人的模式。程序执行后,考生的考号与姓名显示在列表框List1中,单击“考场座位”按钮Command1,考场号与座位显示在Text1中,程序运行界面如图a所示,考生数据存放在数据库文件“kaochang.accdb”中,数据表如图b所示。

图a

图b
实现上述功能的 VB 程序如下,请回答下列问题:
(1)、当“Form_Load()”事件处理过程运行结束时,变量x的值为.(2)、请在横线处填入合适的代码。Private Sub Commandl_Click()
Dim y As Integer
Dim start As Integer '考场第1位数据元素的下标
Dim pa As lnteger '数据库导人VB时学生数据下标
Dim pb As Integer '考场座位数据下标
Dim i As Integer,j As Integer,k As Integer, m As Integer
start= 1
pa=start
recCount=x-1
If recCount Mod 30 <>0 Then
①
For i=1 To y '将当前考生人数添加到 30 的整数倍
recCount=recCount+1
sName(recCount)= " "
Next i
End If
For j=1 To recCount/30
pa=start
pb=start
For i=1 To 30
kcsName(pb)= sName(pa)
pb=pb+1
If i Mod 5=0 Then
pa=start+i\5
Else
②
End If
Next i
start=start+30
Next j
Text1.Text=""
start=l
For k=1 To recCount/30
m=start
Text1.Text=Text1.Text+"第"+Str(k)+"考场"+vbCrLf
'vbCrLf 为换行标志符,实现Text1中内容换行显示
For i=1 To 6
For j=1 To 5
Text1.Text=Text1.Text+""+kesName(m)
m=m+1
Next j
Text1.Text=Text1.Texi+vbCrLf
Next i
Text1.Text=Text1.Text+vbCrLí+vbCrLf
③
Next k
End Sub
Private Sub Form_load()
Dim myconn As New ADODB.Connection
Dim myrecord As New ADODB.Recordset
myconn.ConnectionString=" provider=microsoft.Ace.Oledb.12.
0:data source=e:\kaochang.Accdb"
myconn.Open
strsql=" select * from三中"
myrecord.Open strsql,myconn
x=l
Listl.Addltem"考号 姓名"
List1.AddItem "----------------------"
Do While Not myrecord.EOF
'读取数据库数据,存入数组kh(x)、sName(x)中,代码略
List 1.Addltem kh(x)+" "+sName(x)
x=x+1
myrecord. MoveNext
Loop
myrecord.Close .
End Sub
① ② ③
-
14、有如下VB程序段:
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn.ConnectionString = "provider=Microsoft.ACE.OLEDB.12.0;
data source = "+ App.Path+"\score.Accdb"
conn.Open
Set rs.ActiveConnection = conn
rs.Open "Select * from cj"
n=1
Do While Not rs.EOF
Score(n)=rs.fields(“成绩”):Name(n)=rs.fields(“姓名”)
n=n+1:rs.MoveNext
Loop
下列说法中不正确的是( )
A、定义的ADO的Connection对象实例名称是“conn” B、连接的数据库文件名是“\score.acedb” C、查询的数据表名是“cj” D、该程序段运行后,可知所查询的数据表共有n-1条记录 -
15、某图像的Photoshop编辑界面如图所示,下列说法正确的是( )
A、“大闹天宫”图层共设置了2个图层样式 B、“孙悟空”图层的内容在存储为jpg格式时会显示 C、“背景”图层在当前状态下可以删除 D、为了便于以后修改,应将该图片保存为bmp格式 -
16、小李用Photoshop处理”浙江风光”图片的界面如图所示,下列描述不正确的是( )
A、浙江风光图层可以直接和西湖美景图层交换上下层顺序 B、西湖美景图层的文字内容可以使用文字工具进行修改 C、背景图层使用了“镜头光晕”的滤镜效果 D、可以直接删除背景图层,但不能直接删除西湖美景图层 -
17、使用Photoshop软件制作“保护地球”作品,部分界面如图所示,在当前状态下可直接操作的是( )
A、将图像中两只鸟上下的位置调整为左右的位置 B、给“标语”图层添加“风格化”滤镜 C、对“灰色”图层执行“清除图层样式”操作 D、给“地球”图层添加“内阴影”的图层样式 -
18、下图是Photoshop软件设计某作品的部分界面,以下说法正确的是( )
A、“战机”图层添加了样式,不能再添加滤镜 B、水平翻转“天空”图层内容,不影响别的图层内容 C、可以通过“文字工具”修改“鹰击长空”图层中文字的大小 D、可以通过“文字工具”把“鹰击长空”中的文字颜色改为黄色 -
19、使用Photoshop软件处理某PSD文件,部分编辑界面如图所示。下列说法正确的是( )
A、对“猕猴桃”图层运用仿制图章工具再复制一个猕猴桃,将自动创建一个新图层 B、“鲜美”图层文字不可见的原因是该图层被其他图层所遮挡 C、将该文件存储为“效果图.bmp”图像文件,可以看到“哈密瓜”图层的图层样式 D、将“背景”图层中的图像进行自由变换,不会改变画布大小 -
20、使用Photoshop软件制作“互联网大会”的海报,部分界面如图所示,下列说法正确的是( )
A、不能将“标志”图层移动到“背景”图层的下方 B、“标志”图层设置了3种图层样式,其中“描边”效果不可视 C、可以使用文字工具改变“2019”图层的字体大小 D、不能删除“互联网大会”图层