1、二级 VISUAL+BASIC-78 及答案解析(总分:96.50,做题时间:90 分钟)一、选择题(总题数:35,分数:70.50)1.在窗体上画一个文本框(名称为 Text1)和一个标签(名称为 Label1),程序运行后,在文本框中每输入一个字符,都会立即在标签中显示文本框中字符的个数。以下可以实现上述操作的事件过程是(分数:2.50)A.Private Sub Text1_Change()Label1.Caption=Str(Len(Text1.Text)End SubB.Private Sub Text1_Click()Label1.Caption=Str(Len(Text1.Tex
2、t)End SubC.Private Sub Text1_Change()Label1.Caption=Text1.TextEndSubD.Private Sub Label1_Change()Label1.Caption=Str(Len(Text1.Text)End Sub2.在窗体上画一个文本框(其 Name 属性为 Text1),然后编写如下事件过程: Private Sub Form_Load() Text1.Text=“ Text 1.SetFocus For i=1 To 10 Sum=Sum+i Next i Text1.Text=Sum End Sub 上述程序的运行结果是(分
3、数:2.50)A.在文本框 Text1 中输出 55B.在文本框 Text1 中输出 0C.出错D.在文本框 Text1 中输出不定值3.在用通用对话框控件建立“打开”或“保存”文件对话框时,如果需要指定文件列表框所列出的文件类型是文本文件(即.txt 文件),则正确的描述格式是(分数:2.00)A.“text(.txt)|(*.txt)“B.“文本文件(.txt)|(.txt)“C.“text(.txt)|(*.txt)“D.“text(.txt)(*.txt)“4.下列过程定义语句中合法的是_。(分数:2.00)A.Sub Proc(ByVal n()B.Sub Proc(n)As Int
4、egerC.Function Proc(Proc)D.Function Proc(ByVal n)5.下列程序段的执行结果为 _ 。 a=75 If a60 Then i=1 If a70 Then i=2 If a80 Tnen i=3 If a90 Then i=4 Print “i=“;i(分数:2.00)A.i=1B.i=2C.i=3D.i=46.在程序中要使用 Array 函数给数组 arr 赋初值,则以下数组变量定义语句中错误的是_。(分数:1.00)A.Static arrB.Dim art(5)C.Dim arr()D.Dim arr As Variant7.某人编写了下面的程
5、序,希望能把 Text1 文本框中的内容写到 out.txt 文件中 P Private Sub Command1_Click() Open“out.txt“ For Output As #2 Print“text1“ Close#2 End Sub 调试时发现没有达到目的,为实现上述目的,应做的修改是(分数:2.00)A.把 Print“Text1“改为 Print#2,Text1B.把 Print“Text1“改为 Print Text1C.把 Print“Text1“改为 Write“Text1“D.把所有#2 改为#18.执行 x$=InputBox(“请输入 x 的值“)时,在弹出的
6、对话框中输入 123,在列表框 List1 选中 1 个列表项(数据为 456),使 y 的值是 123456 的语句是 _ 。(分数:2.00)A.y=x$+List1.List(O)B.y=x$+List1.List(1)C.y=Val(x$)+Val(List1.List(0)D.y=Val(x$) Next i Print Call _ 3_ For i=i To 10 Print a(i); Next i Print n End Sub (分数:2.00)37.窗体中有图片框(Picturel)和计时器(Timed)两个控件。运行程序时,将图片加载到图片框中,然后图片框以每 2 秒钟
7、一次的速度向窗体的右下角移动,每次向下、向右移动 100twip。请填空。 Private Sub Form_Load() Prcture1_Picture=LoadPicture(“c/pic/mouth.ico“) 1.Interva=2000 End Sub Prinvate Sub Timer1_Timer() Static x,y As Integer x=x+100 y=y+100 Pictuer1.Movex,y End Sub (分数:2.00)38.数据库系统中实现各种数据管理功能的核心软件称为 _ 1_ 。 (分数:2.00)39.数据库保护分为:安全性控制、 1、并发性控
8、制和数据的恢复。 (分数:1.00)40.下列程序段的输出结果为 1。 Dim S1(5)As Integer,S2(5)As Integer,S3(5)As Integer N=4 ForI=1 To N S1(I)=I L=N+i-I S2(I)=L NextI S3(5)=0 ForK=1 To N S3(K)=S1(K)*S2(K) S3(5)=S3(5)+S3(K) NextK PrintS1(3)=S1(5);S1(2) PrintS2(4)=S3(1);S3(5) (分数:2.00)41.在名称为 Form1 的窗体上绘制一个文本框,其名称为 Text1,在属性窗口中把该文本框的
9、 MultiLine属性设置为 True,然后编写如下的事件过程: Private Sub Form Click() Open “d:/test/smtext1.txt“ For Input As #1 Do While Not Line Input #1,aspects whole$=whole$+aspect$+Chr$(13)+Chr$(10) Loop Text1.Text=whole$ Close #1 Open “d:/test/smtext2.txt“ For Output As #1 Print #1, 1 Close #1 End Sub 上述程序的功能是,把磁盘文件 smt
10、ext1.txt 的内容读到内存并在文本框中显示出来,然后把该文本框中的内容存入磁盘文件 smtext2.txt。请填空。 (分数:2.00)42.面向对象的模型中,最基本的概念是对象和 1。 (分数:2.00)43.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的 1。 (分数:2.00)44.在窗体上画一个名称为 Command1 的命令按钮和一个名称为 Text1 的文本框。程序运行后,Command1为禁用(灰色)。当向文本框中输入任何字符时,命令按钮 Command1 变为可用。请将程序补充完整。 Private Sub Form_Load() Comman
11、d1.Enabled=False End Sub Private Sub Text1 _ 1_ () Command1.Enabled=True End Sub (分数:1.00)45.一个算法的时间复杂性是 1 的函数。 (分数:2.00)46.为了使标签能自动调整大小以显示全部文本内容,应把标签的 _ 1_ 属性设置为 True。 (分数:1.00)47.在 Visual Basic 程序启动运行中设置一个封面窗口,显示一些有意义的信息,要求显示时间 5 秒。 Sub dlys(ByVal n As Single) Dim tl As Single Dim t2 As Single t1
12、= Timer Do t2 = Timer If t2 t1 Then t2 = t2 + 86400 If t2 - tl n Then Exit Do _ 1_ Loop End Sub Sub main( ) Form2. Show dlys _ 2_ _ 3_ Form1. Show End Sub (分数:1.00)48.创建一个命令单击事件,该事件在单击命令按钮后,打开 Form 2 窗体,并要求 Form 2 窗体打开后,Form 1 窗体既不清除也不显示,程序代码如下,请补充完整。 Private Sub Command1_ Click() Form2. 1 Form1. 2
13、End Sub (分数:2.00)49.下面的程序是找出两个正整数 a 和 b,使得 ab、a+ b=99、a 和 b 的最大公约数是 3 的倍数,并统计满足条件数对的个数。 Option Explicit Dim a As Integer, b As Integer, n As Integer, c As Integer Private Function Gcd (ByVal a As Integer, Byval b As Integer) As Integer do c=a Mod b: a=b=c Loop _ 1_ Gcd=a End Function Private Sub for
14、m_ Click() n=0 for a= 1 To 49 b= _ 2_ c= Gcd (a, b) if c Mod 3= 0 then _ 3_ Print a, b, c End if Next a Print n End Sub (分数:2.00)50.在深度为 7 的满二叉树中,度为 2 的结点个数为 _ 1_ 。 (分数:2.00)二级 VISUAL+BASIC-78 答案解析(总分:96.50,做题时间:90 分钟)一、选择题(总题数:35,分数:70.50)1.在窗体上画一个文本框(名称为 Text1)和一个标签(名称为 Label1),程序运行后,在文本框中每输入一个字符,
15、都会立即在标签中显示文本框中字符的个数。以下可以实现上述操作的事件过程是(分数:2.50)A.Private Sub Text1_Change()Label1.Caption=Str(Len(Text1.Text)End Sub B.Private Sub Text1_Click()Label1.Caption=Str(Len(Text1.Text)End SubC.Private Sub Text1_Change()Label1.Caption=Text1.TextEndSubD.Private Sub Label1_Change()Label1.Caption=Str(Len(Text1.
16、Text)End Sub解析:解析 本题考查的考点是有关文本框处理的。首先,如果想要在文本框中每输入一个字符就会触发一次事件,应该编写文本框的 Change 事件;文本框中的字符个数由 Len 函数可以取得。2.在窗体上画一个文本框(其 Name 属性为 Text1),然后编写如下事件过程: Private Sub Form_Load() Text1.Text=“ Text 1.SetFocus For i=1 To 10 Sum=Sum+i Next i Text1.Text=Sum End Sub 上述程序的运行结果是(分数:2.50)A.在文本框 Text1 中输出 55 B.在文本框
17、Text1 中输出 0C.出错D.在文本框 Text1 中输出不定值解析:3.在用通用对话框控件建立“打开”或“保存”文件对话框时,如果需要指定文件列表框所列出的文件类型是文本文件(即.txt 文件),则正确的描述格式是(分数:2.00)A.“text(.txt)|(*.txt)“ B.“文本文件(.txt)|(.txt)“C.“text(.txt)|(*.txt)“D.“text(.txt)(*.txt)“解析:解析 本题考查文件对话框的属性。指出文件是文本文件用“text(.txt)|(*.txt)”表示。正确答案为 A 项。B 项缺少“*”;C 项的分隔符有误;D 项缺少分隔符。4.下列
18、过程定义语句中合法的是_。(分数:2.00)A.Sub Proc(ByVal n()B.Sub Proc(n)As IntegerC.Function Proc(Proc)D.Function Proc(ByVal n) 解析:5.下列程序段的执行结果为 _ 。 a=75 If a60 Then i=1 If a70 Then i=2 If a80 Tnen i=3 If a90 Then i=4 Print “i=“;i(分数:2.00)A.i=1B.i=2C.i=3D.i=4 解析:解析 本题考查选择语句。题目中共含有 4 条井列的选择语句,语句从上到下依次执行,由于a60、a70、a80
19、、a90 这些条件中除了第 3 个外对于 a 都成立,因此第一个,第二个和最后一个If 语句都执行,则 i 的值为最后的条件分支的值。6.在程序中要使用 Array 函数给数组 arr 赋初值,则以下数组变量定义语句中错误的是_。(分数:1.00)A.Static arrB.Dim art(5) C.Dim arr()D.Dim arr As Variant解析:解析 用 Array 函数可以给 Variant 类型的动态数组赋值;也可给 Variant 类型的变量赋值,此时该变量也可看作一个 Variant 类型的动态数组。 例如:Dim a()As Variant, b As Varian
20、t a=Array(1,“abc“,3):b=Array(5,6) 本题中 A、D 选项是把 arr 都定义为 Variant 型变量,C 选项是把 arr 定义为动态数组,这都可以用 Array函数给 arr 数组赋初值;B 选项定义了一个 Variant 型的一维固定数组 arr,Array 函数不能给固定数组赋初值,故 B 选项错误。7.某人编写了下面的程序,希望能把 Text1 文本框中的内容写到 out.txt 文件中 P Private Sub Command1_Click() Open“out.txt“ For Output As #2 Print“text1“ Close#2
21、End Sub 调试时发现没有达到目的,为实现上述目的,应做的修改是(分数:2.00)A.把 Print“Text1“改为 Print#2,Text1 B.把 Print“Text1“改为 Print Text1C.把 Print“Text1“改为 Write“Text1“D.把所有#2 改为#1解析:解析 本题是一个文件输出的问题。若要对以 Output 形式打开的某文件使用 Print 方法进行输出,标准格式为 Print 文件号,字符串。8.执行 x$=InputBox(“请输入 x 的值“)时,在弹出的对话框中输入 123,在列表框 List1 选中 1 个列表项(数据为 456),使
22、 y 的值是 123456 的语句是 _ 。(分数:2.00)A.y=x$+List1.List(O) B.y=x$+List1.List(1)C.y=Val(x$)+Val(List1.List(0)D.y=Val(x$) Next i Print Call _ 3_ For i=i To 10 Print a(i); Next i Print n End Sub (分数:2.00)解析:i1 1 To 10 Subl(a, 10)解析 首先可用两个变量 i 和 j 来表示要交换 的数组元素下标,一开始显然是 i=1、j=n;然后交换 a(i)和 a(j)的值;交换之后,i 的值应加 1 变
23、成下一个元素的下标,j 的值减 1 变成前一个元素的下标,冉交换它们的值直到 i 的值等于或大于 j 的值为止。37.窗体中有图片框(Picturel)和计时器(Timed)两个控件。运行程序时,将图片加载到图片框中,然后图片框以每 2 秒钟一次的速度向窗体的右下角移动,每次向下、向右移动 100twip。请填空。 Private Sub Form_Load() Prcture1_Picture=LoadPicture(“c/pic/mouth.ico“) 1.Interva=2000 End Sub Prinvate Sub Timer1_Timer() Static x,y As Inte
24、ger x=x+100 y=y+100 Pictuer1.Movex,y End Sub (分数:2.00)解析:Timer138.数据库系统中实现各种数据管理功能的核心软件称为 _ 1_ 。 (分数:2.00)解析:数据库管理系统解析 数据库管理系统(Database Management System,DBMS)是管理数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操作、数据维护、控制及保护和数据服务等。39.数据库保护分为:安全性控制、 1、并发性控制和数据的恢复。 (分数:1.00)解析:完整性控制 解析 考查考生对数据库基本知识的了解。 解题要点 安全性控制:防止未经授权
25、的用户有意或无意存取数据库巾的数据,以免数据被泄露、更改或破坏;完整性控制:保证数据库中数据及语义的正确性和有效性,防止任何对数据造成错误的操作;并发控制:正确处理好多用户、多任务环境卜的并发操作防止错误发生;恢复;当数据库被破坏或数据不正确时,使数据库能恢复到正确的状态。 考点链接 数据库的其他用途,如数据定义、数据操作和数据管理等。40.下列程序段的输出结果为 1。 Dim S1(5)As Integer,S2(5)As Integer,S3(5)As Integer N=4 ForI=1 To N S1(I)=I L=N+i-I S2(I)=L NextI S3(5)=0 ForK=1
26、To N S3(K)=S1(K)*S2(K) S3(5)=S3(5)+S3(K) NextK PrintS1(3)=S1(5);S1(2) PrintS2(4)=S3(1);S3(5) (分数:2.00)解析:3 0 2 1 4 2041.在名称为 Form1 的窗体上绘制一个文本框,其名称为 Text1,在属性窗口中把该文本框的 MultiLine属性设置为 True,然后编写如下的事件过程: Private Sub Form Click() Open “d:/test/smtext1.txt“ For Input As #1 Do While Not Line Input #1,aspec
27、ts whole$=whole$+aspect$+Chr$(13)+Chr$(10) Loop Text1.Text=whole$ Close #1 Open “d:/test/smtext2.txt“ For Output As #1 Print #1, 1 Close #1 End Sub 上述程序的功能是,把磁盘文件 smtext1.txt 的内容读到内存并在文本框中显示出来,然后把该文本框中的内容存入磁盘文件 smtext2.txt。请填空。 (分数:2.00)解析:EOF(1) Text1.Text 或 Text1 或 Form1.Text1.Text 或 Form1.Text1 或
28、 Me.Text1.Text 或 Me.Text1 解析 本题考查文件操作。文件操作是考试难点,也是众多考生认为困难的内容。首先把磁盘文件 smtext1.txt 的内容读到内存,如何判断文件是否读取完成呢? EOF 函数的功能就是当文件指针到达文件尾部时返回True,否则返回 False,当 EOF(文件号)可以判断是否读取完成。 Linelnput#语句的功能是从一个打开的顺序文件中,读出一行数据赋给一个 aspect$变量,然后进行相应运算,Chr(13)+Chr(10)的功能是回车换行。最后将 whole$变量的值显示在文本框中,然后关闭#1 文件。接下来就是如何把文本框中的内容存入文
29、件中,这里使用 Open “d:/test/smtext2.txt“ ForOutput As #1,该语句可以打开 d:/test/目录下的名为 smtext2.txt 的文件,如果不存在,该语句将创建一个名为 smtext2.txt 的文件。文件的写入是由 Print #语句实现,考生需要注意区分 Print #语句与 Write #语句的区别。42.面向对象的模型中,最基本的概念是对象和 1。 (分数:2.00)解析:类解析 面向对象模型中,最基本的概念是对象和类。对象是现实世界中实体的模型化;将属性集和方法集相同的所有对象组合在一起,可以构成一个类。43.一个类可以从直接或间接的祖先中
30、继承所有属性和方法。采用这个方法提高了软件的 1。 (分数:2.00)解析:可重用性44.在窗体上画一个名称为 Command1 的命令按钮和一个名称为 Text1 的文本框。程序运行后,Command1为禁用(灰色)。当向文本框中输入任何字符时,命令按钮 Command1 变为可用。请将程序补充完整。 Private Sub Form_Load() Command1.Enabled=False End Sub Private Sub Text1 _ 1_ () Command1.Enabled=True End Sub (分数:1.00)解析:Change解析 本题解题思路:空缺位置应当填入
31、文件框控件的一个事件名。由题面可知,当向文本框中输入任何字符时,都能触发的文本框事件,一定是 Change 事件。45.一个算法的时间复杂性是 1 的函数。 (分数:2.00)解析:算法输入规模46.为了使标签能自动调整大小以显示全部文本内容,应把标签的 _ 1_ 属性设置为 True。 (分数:1.00)解析:AutoSize解析 如果希望 Label 显示可变长度的行或变化的行数,就要设置 AutoSize。47.在 Visual Basic 程序启动运行中设置一个封面窗口,显示一些有意义的信息,要求显示时间 5 秒。 Sub dlys(ByVal n As Single) Dim tl
32、As Single Dim t2 As Single t1 = Timer Do t2 = Timer If t2 t1 Then t2 = t2 + 86400 If t2 - tl n Then Exit Do _ 1_ Loop End Sub Sub main( ) Form2. Show dlys _ 2_ _ 3_ Form1. Show End Sub (分数:1.00)解析:12DoEvents 135 14Unload Form2解析 在空【12】处,为了在闲置循环状态下可响应其他事件,使用语句 DoEvents;接下来,在空【13】处,使用延时子程序 dlys,因为是延时
33、5 秒钟,因此此处 n 的值为 5;在空【14】处,应该将封面窗体 form2 卸载掉,因为它只是在启动的时候给用户展示一个画面信息,在以后程序运行中将不再用到它,将它从内存中彻底清除,使用语句 Unload Form2。48.创建一个命令单击事件,该事件在单击命令按钮后,打开 Form 2 窗体,并要求 Form 2 窗体打开后,Form 1 窗体既不清除也不显示,程序代码如下,请补充完整。 Private Sub Command1_ Click() Form2. 1 Form1. 2 End Sub (分数:2.00)解析:Show Hide49.下面的程序是找出两个正整数 a 和 b,使
34、得 ab、a+ b=99、a 和 b 的最大公约数是 3 的倍数,并统计满足条件数对的个数。 Option Explicit Dim a As Integer, b As Integer, n As Integer, c As Integer Private Function Gcd (ByVal a As Integer, Byval b As Integer) As Integer do c=a Mod b: a=b=c Loop _ 1_ Gcd=a End Function Private Sub form_ Click() n=0 for a= 1 To 49 b= _ 2_ c=
35、Gcd (a, b) if c Mod 3= 0 then _ 3_ Print a, b, c End if Next a Print n End Sub (分数:2.00)解析:13until c=0 或 while c0 1499-a 15n=n+1 解析 由求最大公约数的算法可知,当余数 c 为零时,a 为 a 和 b 的最大公约数。因条件给定:“a+ b=99”,所以“b=99-a”。n 为累计数。50.在深度为 7 的满二叉树中,度为 2 的结点个数为 _ 1_ 。 (分数:2.00)解析:63 或 2 6 -1 解析 本题考查数据结构中满二叉树的性质。在满二叉树中,每层结点都是满的,即每层结点都具有最大结点数。深度为 k 的满二叉树,一共有 2 的 k 次方-1 个结点,其中包括度为 2 的结点和叶子结点。本题中只要去掉第 7 层的叶子结点后就是度为 2 的所有结点,我们只要算出深度为 6 的满二叉树的所有结点就可以了,结果为 2 6 -1=63。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1