1、二级 VISUAL+BASIC-464 及答案解析(总分:69.00,做题时间:90 分钟)一、1 基本操作题(总题数:1,分数:30.00)1.在名称为 Form1 的窗体上画一个文本框,其名称为 Text1,然后通过属性窗口设置窗体和文本框的属性,实现如下功能 (a)在文本框中可以显示多行文本; (b)在文本框中显示垂直滚动条; (C)文本框中显示的初始信息为“全国计算机等级考试”; (d)文本框中显示的字体为三号、规则、黑体; (e)窗体的标题为“设置文本属性”。 完成设置后的窗体如下图所示。 (分数:30.00)_二、2 简单应用题(总题数:1,分数:40.00)2.在考生文件夹下有一
2、个工程文件 T507.vbp,其窗体上有一个文本框,名称为 Text1;还有一个命令按钮,名称为 C1,标题为“计算”,如图所示。有一个函数 isprime()可以在程序中直接调用,其功能是判断参数 a 是否为素数,如果是素数,则返回 True,否则返回 False。请编写适当的事件过程,使得在运行时,单击“计算”按钮,则找出小于 2000 的最大素数,并显示在 Text1 中。 注意:考生不得修改 isprime()函数过程和控件的属性。 试题源程序: 1 Private Function isprime(a As Integer)As Boolean 2 Dim flag As Boole
3、an 3 flag=True 4 b%=2 5 Do While b%=Int(a/2)And flag 6 If Int(a/b%)=a/b% Then 7 flag=False 8 Else 9 b%=b%+1 10 End If 11 Loop 12 isprime=flag 13 End Function (分数:40.00)_三、3 综合应用题(总题数:1,分数:-1.00)3.下面出现的“考生文件夹”均为 c:/wexam/25160001。 去掉程序中的注释符,把程序中的?改为正确的内容,使其实现下述功能,但不能修改程序中的其他部分,也不能修改控件的其他属性。最后把修改后的文件按
4、原文件名存盘。 在考生文件夹下有一个工程文件 sjt5.vbp,其窗体上有一个文本框,名称为 Text1;有两个命令按钮,名称分别为 C1 和 C2,标题分别为“计算”、“存盘”,如图,18-5 所示。在给定程序中有一个函数过程isprime,其功能是判断参数 a 是否为素数,如果是素数,则返回 True,否则返回 False。 (分数:-1.00)_二级 VISUAL+BASIC-464 答案解析(总分:69.00,做题时间:90 分钟)一、1 基本操作题(总题数:1,分数:30.00)1.在名称为 Form1 的窗体上画一个文本框,其名称为 Text1,然后通过属性窗口设置窗体和文本框的属
5、性,实现如下功能 (a)在文本框中可以显示多行文本; (b)在文本框中显示垂直滚动条; (C)文本框中显示的初始信息为“全国计算机等级考试”; (d)文本框中显示的字体为三号、规则、黑体; (e)窗体的标题为“设置文本属性”。 完成设置后的窗体如下图所示。 (分数:30.00)_正确答案:()解析:第一步:启动 Visual Basic,新建一个工程文件。 第二步:单击工具箱上的“文本框”控件,在窗体上画一个文本框,将其 Name 属性设置为 Text1,Text属性设置为“程序设计”,Font 属性中设置字体为黑体,字号为三号,MultiLine 属性设为True,ScrolIBars 属性
6、值设为 2;将 Form1 的 Caption 设为“设置文本框属性”。 第三步:调试并运行程序,运行正确后按要求保存。 (1) 解析 MultiLine 属性如果设为 False,则在文本框中只能输入单行文字;当设为 True 时,可以使用多行文本,即在文本框中输入或输出文字时可以换行,并在下一行接着输入或输出。 ScrolIBars 属性用来设置文本框是否有滚动条,要使文本框有垂直滚动条,将其设为 2 即可。注意,要使得文本框有滚动条,其 MultiLine 属性必须为 True。二、2 简单应用题(总题数:1,分数:40.00)2.在考生文件夹下有一个工程文件 T507.vbp,其窗体上
7、有一个文本框,名称为 Text1;还有一个命令按钮,名称为 C1,标题为“计算”,如图所示。有一个函数 isprime()可以在程序中直接调用,其功能是判断参数 a 是否为素数,如果是素数,则返回 True,否则返回 False。请编写适当的事件过程,使得在运行时,单击“计算”按钮,则找出小于 2000 的最大素数,并显示在 Text1 中。 注意:考生不得修改 isprime()函数过程和控件的属性。 试题源程序: 1 Private Function isprime(a As Integer)As Boolean 2 Dim flag As Boolean 3 flag=True 4 b%
8、=2 5 Do While b%=Int(a/2)And flag 6 If Int(a/b%)=a/b% Then 7 flag=False 8 Else 9 b%=b%+1 10 End If 11 Loop 12 isprime=flag 13 End Function (分数:40.00)_正确答案:()解析:第一步:启动 Visual Basic,打开考生文件夹下的工程文件 T507.vbp。 第二步:双击窗口中的任何位置,进入程序编辑窗口,补充程序如下: 1 Private Sub C1 Click() 2 Static a As Integer 3 Dim i As Intege
9、r 4 For i=1 To 2000 5 Call isprime(i) 6 If isprime(i)=True Then 7 a=i 8 End If 9 Next i 10 Me Text1.Text=a 11 End Sub 第三步:调试运行程序,正确后以原文件名保存。 (2) 解析 本题主要考查过程函数的调用以及 For 循环语句的使用。考生可在窗体上双击 C1,进入程序编写窗口。根据题意,主要是使 2000 以内的最大素数显示在文本框中,故可以使用 For 循环语句,令变量 i 在12000 之间取值,逐一作为实参调用 isprime()函数过程,当遇到 isprime()函数过
10、程返回 True 值时,把 i 的值赋给 a。这样循环便可得到 2000 以内的最大素数。 这也是本题最后所给两点要求的原因。三、3 综合应用题(总题数:1,分数:-1.00)3.下面出现的“考生文件夹”均为 c:/wexam/25160001。 去掉程序中的注释符,把程序中的?改为正确的内容,使其实现下述功能,但不能修改程序中的其他部分,也不能修改控件的其他属性。最后把修改后的文件按原文件名存盘。 在考生文件夹下有一个工程文件 sjt5.vbp,其窗体上有一个文本框,名称为 Text1;有两个命令按钮,名称分别为 C1 和 C2,标题分别为“计算”、“存盘”,如图,18-5 所示。在给定程序
11、中有一个函数过程isprime,其功能是判断参数 a 是否为素数,如果是素数,则返回 True,否则返回 False。 (分数:-1.00)_正确答案:()解析:解析 素数的判断准则就是看是否该数除了 1 和其本身外别无其他约数(即从 2 到 n-1 之间没有可以将其整除的数)即可,变量 flag 是用于保留判断数是否是素数的结果的,值有 True 和 False 两个(从程序中可以看出)所以应将其定义为布尔型(Boolean),并且在过程中判断完之后,将 flag 的值赋给函数过程 isprime 的名字。文本框通过 Text 属性显示计算结果,其形式为: 文本框名.Text=要显示的内容
12、将数据写入文件可用命令 Write#语句或 Print#语句,本程序中用的是后者,其形式为: Pint#文件号,输出列表。解题步骤: 第一步:建立了界面并设置控件属性。程序用到的控件及其属性值见表 18-5。 表 18-5 控 件 属 性 设 置 值 文本框 Name Text1 命令按钮 Name C1 Caption 计算 命令按钮 Name Caption C2 存盘 第二步:编写程序代码。 程序提供的代码: Private Function isprime(a As Integer) As Boolean “ Dim flag As? flag=True b%=2 Do While b
13、%=Int(a/2) And flag If Int(a/b%)=a/b% Then flag=False Else b%=b%+1 End If Loop “ isprime= ? End Function Private Sub C1_Click() Dim i As Integer i=15O00 Do While Not isprime(i) i=i+1 Loop Text1.Text=i End Sub Private Sub C2_Click() Open “Out5.txt“ For Output As #1 “ Print #1, Text1.? Close #1 End Su
14、b 参考代码: Private Function isprime(a As Integer) As Boolean Dim flag As Boolean flag=True b%=2 Do While b%=Int(a/2) And flag If Int(a/b%)=a/b% Then flag=False Else b%=b%+1 End If Loop isprime=flag End Function Private Sub C1_Click() Dim i As Integer i=15000 Do While Not isprime(i) i=i+1 Loop Text1.Text=i End Sub Private Sub C2_Click() Open “Out5.txt“ For Output As #1 Print #1, Text1.Text Close #1 End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。