1、二级 VISUAL+BASIC 新增无纸化真题 2015 年 09 月(2)及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中正确的是_。(分数:1.00)A.数据的存储结构会影响算法的效率B.算法设计只需考虑结果的可靠性C.算法复杂度是指算法控制结构的复杂程度D.算法复杂度是用算法中指令的条数来度量的2.设数据集合为 D=1,2,3,4,5,下列数据结构 B=(D,R)中为非线性结构的是_。(分数:1.00)A.R=(1,2),(2,3),(3,4),(4,5)B.R=(1,2),(2,3),(4,3),(3,5)C.R=(5,4
2、),(4,3),(3,2),(2,1)D.R=(2,5),(5,4),(3,2),(4,3)3.某二叉树共有 150 个结点,其中有 50 个度为 1 的结点,则_。(分数:1.00)A.不存在这样的二叉树B.该二叉树有 49 个叶子结点C.该二叉树有 50 个叶子结点D.该二叉树有 51 个叶子结点4.循环队列的存储空间为 Q(1:50),初始状态为 front=rear=50。经过一系列正常的入队与退队操作后,front=rear=25,此后又正常地插入了一个元素,则循环队列中的元素个数为_。(分数:1.00)A.51B.50C.49D.15.下列排序方法中,最坏情况下时间复杂度(即比较次
3、数)低于 O(n 2 )的是_。(分数:1.00)A.快速排序B.简单插入排序C.冒泡排序D.堆排序6.下列描述正确的是_。(分数:1.00)A.软件测试是指动态测试B.软件测试可以随机地选取测试数据C.软件测试是保证软件质量的重要手段D.软件测试的目的是发现和改正错误7.下列选项中属于软件设计建模工具的是_。(分数:1.00)A.DFD 图(数据流程图)B.程序流程图(PFD 图)C.用例图(USE_CASE 图)D.网络工程图8.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是_。(分数:1.00)A.DB 包括 DBS 和 DBMSB.DBMS 包括 DB 和
4、 DBSC.DBS 包括 DB 和 DBMSD.DBS、DB 和 DBMS 相互独立9.医院里有不同的科室,每名医生分属不同科室,则实体科室与实体医生间的联系是_。(分数:1.00)A.一对一B.一对多C.多对一D.多对多10.有三个关系 R、S 和 T 如下: R A B C a 3 4 b 2 1 c 3 2 e 4 2 S A B C d 3 2 c 3 2 T A B C a 3 4 b 2 1 e 4 2 则由关系 R 和 S 得到关系 T 的操作是_。(分数:1.00)A.投影B.选择C.交D.差11.计算 z 的值,当 x 大于等于 y 时,z=x;否则 z=y。下列语句中错误的
5、是_。(分数:1.00)A.If x=y Then z=x:z=yB.If x=y Then z=x Else z=yC.z=y:If x=y Then z=xD.If xy Then z=y Else z=x12.在 Visual Basic 中,所谓“文件”指的是_。(分数:1.00)A.内存中的全部程序和数据B.内存中的全部指令C.存放在外部介质上的数据的集合D.用打印机打印出来的程序清单13.下列合法的 Visual Basic 变量名是_。(分数:1.00)A.3AB.A+3C.A3D.Abs14.函数调用:String(n,“str“)的结果是_。(分数:1.00)A.返回由 n
6、个“s”组成的字符串B.把数值型数据 n 转换成字符串C.从字符串中取出 n 个字符D.从字符串中第 n 个字符的位置开始取子字符串15.Open 语句中以 Input 方式打开一个顺序文件,以便从该文件读取数据。以下叙述中正确的是_。(分数:1.00)A.可以不必考虑文件是否存在B.要打开的必须是一个要建立的文件C.可以在打开时指定文件是否存在D.要打开的必须是一个已存在的文件16.下列关于工程的叙述中错误的是_。(分数:1.00)A.在工程中可以设置某个窗体为启动窗体B.一个工程可以有多个窗体模块C.一个工程可以有多个标准模块D.一个工程中不能没有窗体模块,但可以没有标准模块17.下列表达
7、式中值为 False 的是_。(分数:1.00)A.“Integer“Int“B.“VisualBasic“visual“C.“XYZ“XYz“D.“123“ABC“18.设 a=5,b=10,执行语句 c=Int(b-a)*Rnd+a)+1 后,c 中数值的范围是_。(分数:1.00)A.510B.69C.610D.5919.下列声明中正确的是_。(分数:1.00)A.Dim a() As BooleanReDim a(8,5)B.Dim a()ReDim a(5) As IntegerC.Dim a(3) As IntegerReDim a(5)D.Dim a()ReDim a()20.下
8、列关于文件的叙述中错误的是_。(分数:1.00)A.以 Input 方式打开文件时,如果文件不存在,则建立一个新文件B.顺序文件各记录的长度可以不同C.使用 Append 方式打开文件时,文件指针被定位到文件尾D.随机文件打开后,既可以读,也可以写21.下列说法中正确的是_。(分数:1.00)A.如果窗体上有多个控件,程序运行时只有一个是活动控件B.只能通过拖拉控件左下角的小方块来同时在高度和宽度上缩放控件C.只能通过拖拉控件右上角的小方块来同时在高度和宽度上缩放控件D.程序运行时,在窗体上非活动控件是隐藏的22.为了使组合框能识别双击(DblClick)事件,应把它的 Style 属性设置为
9、_。(分数:1.00)A.0B.1C.2D.323.为了使文本框 Text1 中的文本不能被编辑,但能滚动和选择,下列正确的设置为_。(分数:1.00)A.Text1.Locked=TrueB.Text1.Locked=FalseC.Text1.Enabled=FalseD.Text1.Enabled=True24.下列叙述中错误的是_。(分数:1.00)A.列表框和简单组合框都可以响应 Change 事件B.列表框和组合框都有 Text 属性C.列表框和组合框都有 Style 属性D.列表框和组合框都有 List 属性25.为了在形状控件中填充图案,应设置的属性是_。(分数:1.00)A.B
10、orderColorB.BackStyleC.FillStyleD.BorderStyle26.利用属性窗口为窗体的下面 4 个属性设置了值,其中错误的设置是_。(分数:1.00)A.Name 属性的值设置为 FormB.Caption 属性的值设置为 FormC.ControlBox 属性的值设置为 FalseD.Enabled 属性的值设置为 False27.图片框所不具有的功能是_。(分数:1.00)A.使其中的图片缩小,而图片内容保持完整B.可以作为一个容器,里面放置其他控件C.可以用 Print 方法在其中显示字符串D.在程序运行过程中为其加载图片28.下列能够接受键盘输入的控件是_
11、。(分数:1.00)A.列表框B.组合框C.标签D.框架29.如果要把通用对话框作为颜色对话框使用,在程序运行过程中应该进行的操作是_。(分数:1.00)A.把通用对话框的 ShowColor 属性设置为 TrueB.调用通用对话框的 ShowOpen 方法C.把通用对话框的 Action 属性设置为 3D.把通用对话框的 Action 属性设置为 430.设窗体上有一个名称为 Text1 的文本框,并有下面的程序代码: Private Sub Form_Load() KeyPreview=True End Sub Private Sub Form_KeyPress(KeyAscii As I
12、nteger) Print Chr(KeyAscii+1), End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) Print Chr(KeyAscii) End Sub 程序运行后在文本框中输入字母“D”,则窗体上显示的是_。(分数:1.00)A.D EB.E DC.DD.E31.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim S As Integer, N As Integer S=1 Do S=(S+1)*(S+2) N=N+1 Loop
13、 Until S=30 Print N;S End Sub 运行程序,单击命令按钮,输出结果是_。(分数:1.00)A.2 56B.2 3C.5 12D.10 2032.阅读程序: Private Sub Form_Click() Dim I As Integer, J As Integer Dim S As Integer c=1 For I=1 To 2 For J=1 To 3 S=S+3 Next J Next I Print S End Sub 运行程序,单击窗体,输出结果是_。(分数:1.00)A.16B.17C.18D.1933.有一个数列,第一个数和第二个数分别为 0 和 1,
14、其后每一个数均为前两个数之和。下面是输出该数列中小于 10000 的最大数的程序: Private Sub Form_Click() a=0 b=0 Do While b10000 c=a+b a=b b=c Loop Print a End Sub 运行程序,单击窗体,不能得到所需要的结果,说明程序有错误。以下正确的修改是_。(分数:1.00)A.把 b=0 改为 b=1,同时把 b10000 改为 b10000B.把 b10000 改为 b=10000C.把 a=0 改为 a=1D.把 a=0 改为 a=1,同时把 b=0 改为 b=134.在窗体上画一个名称为 Command1 的命令按
15、钮,然后编写如下程序: Private Sub Command1_Click() Dim a As Integer a=2 s=0 For i=1 To 3 s=s+Fun(a) Next i Print s End Sub Function Fun(a As Integer) Static c b=0 b=b+1 c=c+1 Fun=a+b+c End Function 程序运行后,单击命令按钮,输出结果是_。(分数:1.00)A.6B.9C.11D.1535.有如下程序: Private Sub Form_Click() Dim i As Integer, a(10) As Integer
16、 Dim p(3) As Integer k=5 For i=0 To 10 a(i)=i Next i For i=0 To 2 p(i)=a(i*(i+1) Next i For i=0 T0 2 k=k+p(i)*2 Next i Print k End Sub 运行程序,单击窗体,输出结果是_。(分数:1.00)A.20B.21C.32D.5636.窗体上有一个名称为 Picture1 的图片框和一个名称为 Timer1 的计时器控件,并有下面程序代码: Dim x%,y% Private Sub Form_Load() x=Picture1.Width*2 y=Picture1.He
17、ight*2 Timer1.Enabled=True Timer1.Interval=100 End Sub Private Sub Timer1_Timer() If Picture1.Widthx Or Picture1.Heighty Then Picture1.Width=Picture1.Width+3 Picture1.Height=Picture1.Height+3 End If End Sub 程序运行后产生的效果是_。(分数:1.00)A.图片框尺寸不断变大,直到其高和宽都增加到原来的 2 倍为止B.图片框尺寸不断变大,并一直增加下去C.图片框尺寸不断变大,直到其高和宽都增加
18、到原来的 3 倍为止D.界面没有产生任何变化37.下列程序段中没有错误的是_。(分数:1.00)A.x=6For k=5 To 1 Step-1x=x+1NextPrint xB.x=10While x5x=x-1LoopPrint xC.x=10Do While x5x=x-1End DoPrint xD.X=6Do While x5x=x+1Loop Until x=10Print x38.有下列程序代码: Private Sub Command1_Click() Randomize Dim x(30) As Integer, s As Integer For k%=1 To 30 x(k
19、)=Int(Rnd*100) Next k For k=1 To 30 If x(k) Mod 2=1 Then s=s+x(k) End If Next k Print s End Sub 程序运行后的输出是_。(分数:1.00)A.30 个随机整数中所有个位数为 1 的数之和B.30 个随机整数中所有偶数的和C.30 个随机整数的和D.30 个随机整数中所有奇数的和39.窗体上有 Text1、Text2 两个文本框,并编写了下面的程序代码: Private Sub Form_Click() x%=29 Text1=fun(x) Do x=x+1 Loop Until IsPrime(x)
20、Text2=x End Sub Private Function fun(ByVal x As Integer) As Integer Do x=x-1 Loop Until IsPrime(x) fun=x End Function Private Function IsPrime(x As Integer) As Boolean For k=2 To x/2 If x Mod k=0 Then IsPrime=False Exit Function End If Next k IsPrime=True End Function 运行程序后单击窗体,则 Text1、Text2 中分别显示的是
21、_。(分数:1.00)A.23 和 31B.23 和 29C.30 和 31D.29 和 3140.当前文件夹中设有一个文本文件 File1.txt,并有下面程序代码: Private Sub Command1_Click() Dim ch As String Open “File1.txt“ For Input As #1 Do While Not EOF(1) ch=Input(1,#1) If “A“ch And ch“Z“ Then Print “ End If Print ch; Loop Close #1 End Sub 上述代码运行时产生的结果是_。(分数:1.00)A.在窗体上
22、原样显示文件中的所有内容B.把文件中所有大写字母改为“S End Sub 运行程序,单击命令按钮,输出结果是_。(分数:1.00)A.2 56 B.2 3C.5 12D.10 20解析:解析 本题主要考核 Do 循环控制结构。 Do 语句块 Exit Do Loop Until 循环条件表达式的使用方法,在 Until 结构中,当 Until 后面的循环条件表达式的结果为False 时,执行循环,当为 True 时,结束循环。整型变量 N 默认的初始值为 0,循环执行时,各变量的值如下表所示。 循环执行次数 循环变量 循环条件表达式结果 1 S=2 Fal*3=6;N=0+1=1 se循环继续
23、执行 2 S=7*8=56;N=1+1=2 True 循环结束 所以 A 选项正确。32.阅读程序: Private Sub Form_Click() Dim I As Integer, J As Integer Dim S As Integer c=1 For I=1 To 2 For J=1 To 3 S=S+3 Next J Next I Print S End Sub 运行程序,单击窗体,输出结果是_。(分数:1.00)A.16B.17C.18 D.19解析:解析 本题考查二重 For 循环的执行情况,由题意可知,循环变量 I 控制外层循环,循环变量 J控制内层循环,外层循环每执行一次
24、时,内层循环都需要执行 3 次(因为 J 的取值分别为 1、2、3),整型变量 N 默认的初始值为 0,各循环变量及变量 S 的值如下表所示。 循环变量 I 循环变量 J 变量 S 1 1 S=0+3=3 1 2 S=3+3=6 1 3 S=6+3=9 2 1 S=9+3=12 2 2 S=12+3=15 2 3 S=15+3=18 所以 C 选项正确。33.有一个数列,第一个数和第二个数分别为 0 和 1,其后每一个数均为前两个数之和。下面是输出该数列中小于 10000 的最大数的程序: Private Sub Form_Click() a=0 b=0 Do While b10000 c=a
25、+b a=b b=c Loop Print a End Sub 运行程序,单击窗体,不能得到所需要的结果,说明程序有错误。以下正确的修改是_。(分数:1.00)A.把 b=0 改为 b=1,同时把 b10000 改为 b10000 B.把 b10000 改为 b=10000C.把 a=0 改为 a=1D.把 a=0 改为 a=1,同时把 b=0 改为 b=1解析:解析 本题考查的是使用 DoWhile 循环计算斐波那契数列的各项问题,题目中要求,数列的第一项和第二项分别是 0 和 1,变量 a 和变量 b,分别表示数列的前两项,所以变量 b 应该赋值为 1,在While 循环条件中,当循环条件
26、为真时,执行循环语句,否则结束循环。故 A 选项的修改是正确的。34.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下程序: Private Sub Command1_Click() Dim a As Integer a=2 s=0 For i=1 To 3 s=s+Fun(a) Next i Print s End Sub Function Fun(a As Integer) Static c b=0 b=b+1 c=c+1 Fun=a+b+c End Function 程序运行后,单击命令按钮,输出结果是_。(分数:1.00)A.6B.9C.11D.15 解析:解析 Fun
27、ction 过程和 Sub 过程有一个很重要的区别,Function 过程可以带返回值,而 Sub 过程不可以。本题的 Command1_Click()过程中,使用 For 循环结构调用函数过程 Fun,并将 Fun 带回的计算结果进行累加,Command1_Click()事件过程中 For 循环共执行 3 次,循环执行情况及各变量的值如下表所示。For循环 变量i 取值 Fun函数过程中 变量a、b、c 的值 Fun函数 返回值 For循环 s 的值 1 a=2,b=1,c=1 4 4 2 a=2,b=1,c=2 5 9 3 a=2,b=1,c=3 6 15 本题中 Fun 函数过程中定义的
28、变量 c 是静态局部变量,可以保留上次程序执行后的结果,最后输出变量 s的值为 15,所以 D 选项正确。35.有如下程序: Private Sub Form_Click() Dim i As Integer, a(10) As Integer Dim p(3) As Integer k=5 For i=0 To 10 a(i)=i Next i For i=0 To 2 p(i)=a(i*(i+1) Next i For i=0 T0 2 k=k+p(i)*2 Next i Print k End Sub 运行程序,单击窗体,输出结果是_。(分数:1.00)A.20B.21 C.32D.56
29、解析:解析 本题考查利用 For 循环给数组元素赋值,在事件过程中定义了两个整型数组,a 和 p,第一个 For 循环,给 a 数组中的每个元素赋值,循环共执行 11 次,a(0)=0 a(1)=1 a(2)=2a(10)=10;利用第二个 For 循环给数组 p 中的元素赋值,循环共执行了 3 次,p(0)=a(0*(0+1)=a(0)=0 p(1)=a(1*(1+1)=a(2)=2 p(2)=a(2*(2+1)=a(6)=6;利用第三个 For 循环对数组 p 中的元素进行计算并将累加结果保存到变量 k 中,循环执行 3 次,k=5+p(0)*2+p(1)*2+p(2)*2=5+4+12=
30、21,故最终变量 K 的值为 21,所以 B 选项正确。36.窗体上有一个名称为 Picture1 的图片框和一个名称为 Timer1 的计时器控件,并有下面程序代码: Dim x%,y% Private Sub Form_Load() x=Picture1.Width*2 y=Picture1.Height*2 Timer1.Enabled=True Timer1.Interval=100 End Sub Private Sub Timer1_Timer() If Picture1.Widthx Or Picture1.Heighty Then Picture1.Width=Picture1
31、.Width+3 Picture1.Height=Picture1.Height+3 End If End Sub 程序运行后产生的效果是_。(分数:1.00)A.图片框尺寸不断变大,直到其高和宽都增加到原来的 2 倍为止 B.图片框尺寸不断变大,并一直增加下去C.图片框尺寸不断变大,直到其高和宽都增加到原来的 3 倍为止D.界面没有产生任何变化解析:解析 在所有程序之前定义了全局变量 x 和 y,所以变量 x 和 y 的作用域为所有过程。在Form_Load 事件过程中,对变量 x 和 y 进行了初始化,并启用了计时器控件,每隔 100 毫秒(0.1 秒),触发一次计数器事件 Timer1_
32、Timer。在计时器事件中利用 if 语句判断图片的高度和宽度是否超过图像本身尺寸的 2 倍,若未超过,则将图片的高度和宽度分别增加 3 个 twip 单位。所以 A 选项正确。37.下列程序段中没有错误的是_。(分数:1.00)A.x=6For k=5 To 1 Step-1x=x+1NextPrint x B.x=10While x5x=x-1LoopPrint xC.x=10Do While x5x=x-1End DoPrint xD.X=6Do While x5x=x+1Loop Until x=10Print x解析:解析 B 选项中 While 前缺少 Do;C 选项缺少 Loop
33、;D 选项 While 和 Until 只能选用一个,故 A选项正确。38.有下列程序代码: Private Sub Command1_Click() Randomize Dim x(30) As Integer, s As Integer For k%=1 To 30 x(k)=Int(Rnd*100) Next k For k=1 To 30 If x(k) Mod 2=1 Then s=s+x(k) End If Next k Print s End Sub 程序运行后的输出是_。(分数:1.00)A.30 个随机整数中所有个位数为 1 的数之和B.30 个随机整数中所有偶数的和C.30
34、 个随机整数的和D.30 个随机整数中所有奇数的和 解析:解析 第一个 For 循环利用表达式 Int(Rnd * 100)随机产生一个0,99之间的整数,并依次赋值给数组中每个元素。第二个 For 循环语句的功能是:循环遍历数组中的所有元素,使用 If 语句判断每个元素是否为奇数,若是奇数则将该元素累加到变量 s 中。综上所述,本程序的功能是随机产生 30 个整数,并将所有奇数进行累加输出。故 D 选项正确。39.窗体上有 Text1、Text2 两个文本框,并编写了下面的程序代码: Private Sub Form_Click() x%=29 Text1=fun(x) Do x=x+1 L
35、oop Until IsPrime(x) Text2=x End Sub Private Function fun(ByVal x As Integer) As Integer Do x=x-1 Loop Until IsPrime(x) fun=x End Function Private Function IsPrime(x As Integer) As Boolean For k=2 To x/2 If x Mod k=0 Then IsPrime=False Exit Function End If Next k IsPrime=True End Function 运行程序后单击窗体,
36、则 Text1、Text2 中分别显示的是_。(分数:1.00)A.23 和 31 B.23 和 29C.30 和 31D.29 和 31解析:解析 本题中 IsPrime 函数的功能是判断一个数是否为素数,是素数则返回 True,不是则返回False;素数的判断方法是:一个数除了能被 1 和自身整除以外,不能再被其他数整除。fun 函数的功能是找出小于形参 x 最大的素数,并返回。在过程 Form_Click 事件过程中,Text1=fun(x),x=29,通过调用 fun 函数,得到小于 29 的最大素数为 23,所以 Text1 中的值为 23,Form_Click 事件过程中的DoLo
37、op Until 循环的功能是找到大于变量 x 的最小素数,大于 29 的最小素数为 31,故 Text2 中的值为31,所以 A 选项正确。40.当前文件夹中设有一个文本文件 File1.txt,并有下面程序代码: Private Sub Command1_Click() Dim ch As String Open “File1.txt“ For Input As #1 Do While Not EOF(1) ch=Input(1,#1) If “A“ch And ch“Z“ Then Print “ End If Print ch; Loop Close #1 End Sub 上述代码运行
38、时产生的结果是_。(分数:1.00)A.在窗体上原样显示文件中的所有内容B.把文件中所有大写字母改为“&”字符后显示,其他内容原样显示C.把文件中的所有内容显示在窗体上,但在每个大写字母前显示一个“&”字符 D.把文件中所有大写字母改为“&”字符后显示,小写字母原样显示,其他字符不显示解析:解析 本题中,利用 Open 语句,以顺序输入方式打开文本文件“File1.txt”,然后执行 Do While 循环结构,利用 Input(1,#1)函数,从文本文件中依次取出一个字符并将其赋值给字符串变量ch,若取出的字符是大写字母,则在其前面显示一个“&”符号,所以 C 选项叙述正确。二、基本操作题(
39、总题数:2,分数:18.00)41.在名称为 Form1、标题为“球类项目”且没有最大化和最小化按钮的窗体上画 1 个名称为 Combo1 的组合框。组合框中的文本内容为空,表项内容有“乒乓球”、“羽毛球”和“网球”3 项。运行后的窗体如图所示。 (分数:9.00)_正确答案:()解析:操作步骤 步骤 1:新建一个空白窗体,设置窗体的属性,属性设置如表 1 所示。 表 1 控件 窗体控件 属性 Caption MaxButton MinButton 设置值 球类项目 False False 步骤 2:添加一个组合框控件,设置控件的属性,属性设置如表 2 所示。 表 2 控件 组合框 属性 Te
40、xt List 设置值 “乒乓球”,“羽毛球”,“网球”步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 答案考生文件夹 解析 新建一个空白窗体,添加一个组合框控件,根据题目要求修改窗体和控件的属性值。42.在名称为 Form1、标题为“转换”的窗体上,画 1 个名称为 Shape1、边框宽度为 3 的形状。再画两个标题分别为“椭圆”和“圆”的命令按钮。如下图所示。 (分数:9.00)_正确答案:()解析:操作步骤 步骤 1:新建一个空白窗体,设置窗体的属性,属性设置如表 1 所示。 表 1 控件 窗体控件 属性 Caption 设置值 转换 步骤 2:向窗体中添加一个形状控件和两个命令按
41、钮,设置好控件的属性值,属性设置如表 2 所示。 表 2 控件 Shape1 Command1 Command2 属性 BorderWidth Caption Caption 设置值 3 椭圆 圆 步骤 3:双击“椭圆”按钮,打开代码编辑窗口,在代码编辑窗口指定位置编写以下代码。 参考答案(加粗部分是需考生填入的内容) Private Sub Command1_Click() Shape1.Shape=2 End Sub 步骤 4:双击“圆”按钮,打开代码编辑窗口,在代码编辑窗口指定位置编写以下代码。 Private Sub Command2 Click() Shape1.Shape=3 En
42、d Sub 步骤 5:调试并运行程序,关闭程序后按题目要求存盘。 答案考生文件夹 解析 新建一个空白窗体,添加一个形状控件和两个命令按钮,设置好窗体和控件的属性,对两个命令分别添加事件代码,使单击按钮时,窗体中的形状控件能够产生变化。三、简单应用题(总题数:2,分数:24.00)43.在 下有一个工程文件 sjt3.vbp。窗体 Form1 上有两个标题分别是“读数据”和“查找”的命令按钮。请画 1 个名称为 Text1、初始值为空的文本框,该文本框允许显示多行内容,且有垂直滚动条,如图所示。程序功能如下。 (分数:12.00)_正确答案:()解析:操作步骤 步骤 1:打开本题项目工程。 步骤
43、 2:在窗体中添加一个文本框控件,控件属性的设置如下表所示。 控件 文本框控件 属性 Text MultiLine ScrollBars 设置值 True 2-vertical 步骤 3:打开代码编辑窗口,在程序代码区域编写如下代码。 参考答案(加粗部分是需考生填入的内容) Private Sub Command2_Click() Dim i As Integer Dim str As String str=“ “ For i=1 To 100 If a(i) Mod 7=0 Then str=str & a(i) & “ “ End If Next i Text1.Text=str End
44、Sub 步骤 4:调试并运行程序,关闭程序后按题目要求存盘。 答案考生文件夹 解析 本题主要考查利用循环及分支结构处理数组中的数据,使用 For 循环遍历数组中的全部值,然后使用 If 语句判断数组中每个元素是否是 7 的倍数,若是,则将数组保存在文本框中。44.下有一个工程文件 sjt4.vbp。在窗体 Form1 上有两个名称为 Command1 和 Command2、标题分别为“重输”和“查找”的命令按钮。程序功能如下。 单击“重输”按钮,则清空 Text1 中的内容,等待用户输入由空格隔开的若干个英文单词;单击“查找”按钮,则找出 Text1 中最长的单词,并将其显示在 Text2 中
45、。某一次的运行效果如图所示。请将“查找”按钮的 Click 事件过程中的注释符去掉,把?改为正确内容,以实现上述程序功能。 (分数:12.00)_正确答案:()解析:操作步骤 步骤 1:打开本题项目工程。 步骤 2:打开代码编辑窗口,去掉程序中的注释符“”,将问号改为正确的内容。 参考答案(加粗部分是需考生填入的内容) Private Sub Command2_Click() Dim x As String, word As String, word_max As String Dim num As Integer, xmax As Integer x=Trim(Text1.Text) xma
46、x=0 Do While Len(x)0 num=InStr(x, Space(1) If num=0 Then word= 1 x=“ “ Else word=Left(x, num ) x=Mid(x,num+1) End If If Len(word)=xmax Then xmax=Len( word ) word_max=word End If Loop Text2.Text= word_max End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 答案考生文件夹 解析 使用 Do While 循环依次取出 Text1 文本框中输入的单词,并比较各单词的长度。将最长单词
47、保存到变量中,最终将结果显示到 Text2 文本框中。四、综合应用题(总题数:1,分数:18.00)45.下有一个工程文件 sjt5.vbp。在窗体 Form1 上有两个标题分别是“产生数据”和“重新排列”的命令按钮,有两个标题为“原始数据”和“排列数据”的标签。程序功能如下。 单击“产生数据”按钮,则随机产生 20 个一位整数,存入数组 a 中,并同时显示在 Text1 中。 单击“重新排列”按钮,则重新排列数组 a 中的元素:使等值的元素相邻存放,并且保持它们在数组 a中首次出现的相对次序;最后将排列结果显示在 Text2 中。某一次运行结果如图所示。 (分数:18.00)_正确答案:()解析:操作步骤 步骤 1:打开本题项目工程。 步骤 2:打开代码编辑窗口,去掉程序中的注释符“”,将问号改为正确的内容。 参考答案(加粗部分是需考生填入的内容) Priv