1、二级 VISUAL+BASIC 机试-70 及答案解析(总分:100.00,做题时间:90 分钟)一、1 基本操作题(总题数:1,分数:30.00)1.注意:下面出现的“”均为 c:/wexam/25160001。请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(1) 在名称为 Form1 的窗体上画一个标签,名称为 L1,标签上显示“请输入密码”,在标签的右边画一个文本框,名称为 Text1,其宽和高分别为 2000 和 300,设置适当的属性使得在输入密码时,文本框中显示“*”字符,此外再把窗体的标题设置为“密码窗口”,以上这些设置都只能在属性窗口中进行设
2、置,运行时的窗体如图 20-1 所示。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1.vbp,窗体文件名为 sjt1.frm。(2) 在名称为 Form1 的窗体上画一个图片框,名称为 P1。请编写适当的事件过程,使得在运行时,每单击图片框一次,就在图片框中输出“单击图片框”一次,每单击图片框外的窗体一次,就在窗体中输出“单击窗体”一次,如图 20-2 所示。要求程序中不得使用变量,每个事件过程中只能写一条语句。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2.vbp,窗体文件名为 sjt2.frm。(分数:30.00)_二、2 简单应用题(总题数:1,分数:40.00)
3、2.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。(1) 在考生文件夹下有一个工程文件 sjt3.vbp,窗体中有两个图片框?名称分别为 P1 和 P2,其中的图片分别是一个航天器和一朵云,还有一个计时器控件,名称为 Timer1,一个命令按钮,名称为 C1,标题为“发射”。窗体文件中给出了两个事件过程,但并不完整,要求:设置计时器控件的属性,使其在初始状态下不计时;设置计时器的属性,使其每隔 0.1 秒调用 Timer 事件过程一次。去掉程序中的注释符,把程序中的?改为正确的内容,使得在运行时单击“发射”按钮,则航天飞机每隔0.1 秒向上移动一次,当到达 P2 的下
4、方时停止移动。程序运行界面如图 20-3 所示。注意:不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。(2) 在考生文件夹下有一个工程文件 sjt4.vbp,窗体上已经有两个文本框,名称分别为 Text1 和 Text2;一个命令按钮,名称为 C1,标题为“确定”。请画两个单选按钮,名称分别为 Op1 和 Op2,标题分别为“男生”和“女生”;再画两个复选框,名称分别为 Ch1 和 Ch2,标题分别为“体育”和“音乐”。请编写适当的事件过程,使得在运行时,单击“确定”按钮后实现下面的要求:根据选中的单选按钮,在 Text1 中显示“我是男生”或“我是女生”;根据选中的复选框,在 T
5、ext2 中显示“我的爱好是体育”或“我的爱好是音乐”或“我的爱好是体育音乐”。程序运行界面如图 20-4 所示。注意:不得修改已经给出的程序和已有控件的属性。在结束程序运行之前,必须选中一个单选按钮和至少一个复选框,并单击“确定”按钮。必须使用窗体右上角的关闭按钮结束程序,否则无成绩。(分数:40.00)_三、3 综合应用题(总题数:1,分数:30.00)3.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。在考生文件夹下有一个工程文件 sjt5.vbp,其窗体上有一个文本框,名称为 Text1;两个命令按钮,名称分别为 C1 和 C2,标题分别为“计算”、“存盘”,设
6、计界面如图 20-5 所示。并有一个函数过程isprime,其功能是判断参数 a 是否为素数,如果是素数,则返回 True,否则返回 False。请将程序中问号的地方用相应的代码补充完整,使得在运行时,单击“计算”按钮,则找出小于 18000 的最大的素数,并显示在 Text1 中;单击“存盘”按钮,则把 Text1 中的计算结果存入考生文件夹下的out5.txt 文件中。注意:考生不得修改 isprime 函数过程和控件的属性,必须把计算结果通过“存盘”按钮存入 out5.txt文件中,否则无成绩。(分数:30.00)_二级 VISUAL+BASIC 机试-70 答案解析(总分:100.00
7、,做题时间:90 分钟)一、1 基本操作题(总题数:1,分数:30.00)1.注意:下面出现的“”均为 c:/wexam/25160001。请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(1) 在名称为 Form1 的窗体上画一个标签,名称为 L1,标签上显示“请输入密码”,在标签的右边画一个文本框,名称为 Text1,其宽和高分别为 2000 和 300,设置适当的属性使得在输入密码时,文本框中显示“*”字符,此外再把窗体的标题设置为“密码窗口”,以上这些设置都只能在属性窗口中进行设置,运行时的窗体如图 20-1 所示。注意:存盘时必须存放在考生文件夹下,
8、工程文件名为 sjt1.vbp,窗体文件名为 sjt1.frm。(2) 在名称为 Form1 的窗体上画一个图片框,名称为 P1。请编写适当的事件过程,使得在运行时,每单击图片框一次,就在图片框中输出“单击图片框”一次,每单击图片框外的窗体一次,就在窗体中输出“单击窗体”一次,如图 20-2 所示。要求程序中不得使用变量,每个事件过程中只能写一条语句。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2.vbp,窗体文件名为 sjt2.frm。(分数:30.00)_正确答案:(解析 在窗体上建立好控件后,只需设置控件的属性即可。在设置属性时标签的名称由 Name 属性设置,内容由 Cap
9、tion 属性设置,宽和高设置由 Wid 出属性和Height 属性。窗体的标题由窗体的 Caption 属性设置。PasswordChar 属性可以将文本框设置为口令输入,题目要求显示“*”,所以应该将 PasswordChar 属性设置为“*”。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性值见表 20-1。表 20-1控 件 属 性 设 置 值Form Name Caption Form1 密码窗口文本框 Name PasswordChar Text1 *标签 Name Caption L1 请输入密码第二步:调试并运行程序。第三步:按题目要求存盘。(2) 解析 先在
10、窗体上建立图片控件。然后再编写过程代码。单击窗体触发的时 Form_Click 事件,单击图片框触发的时 P1_Click 事件。在对象中打印信息使用的是 Print 方法,其语法格式为:对象.Print解题步骤:第一步:建立界面并设置控件属性。程序用到的控件及其属性见表 20-2。表 20-2控 件 属 性 设 置 值图片框 Name P1第二步:编写程序代码。参考代码:Option ExplicitPrivate Sub Form_Click()Me.Print “单击窗体“End SubPrivate Sub P1_Click()P1.Print “单击图片框“End Sub第三步:调试
11、并运行程序。第四步:按题目要求存盘。答案考生文件夹)解析:二、2 简单应用题(总题数:1,分数:40.00)2.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。(1) 在考生文件夹下有一个工程文件 sjt3.vbp,窗体中有两个图片框?名称分别为 P1 和 P2,其中的图片分别是一个航天器和一朵云,还有一个计时器控件,名称为 Timer1,一个命令按钮,名称为 C1,标题为“发射”。窗体文件中给出了两个事件过程,但并不完整,要求:设置计时器控件的属性,使其在初始状态下不计时;设置计时器的属性,使其每隔 0.1 秒调用 Timer 事件过程一次。去掉程序中的注释符,把程序
12、中的?改为正确的内容,使得在运行时单击“发射”按钮,则航天飞机每隔0.1 秒向上移动一次,当到达 P2 的下方时停止移动。程序运行界面如图 20-3 所示。注意:不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。(2) 在考生文件夹下有一个工程文件 sjt4.vbp,窗体上已经有两个文本框,名称分别为 Text1 和 Text2;一个命令按钮,名称为 C1,标题为“确定”。请画两个单选按钮,名称分别为 Op1 和 Op2,标题分别为“男生”和“女生”;再画两个复选框,名称分别为 Ch1 和 Ch2,标题分别为“体育”和“音乐”。请编写适当的事件过程,使得在运行时,单击“确定”按钮后实
13、现下面的要求:根据选中的单选按钮,在 Text1 中显示“我是男生”或“我是女生”;根据选中的复选框,在 Text2 中显示“我的爱好是体育”或“我的爱好是音乐”或“我的爱好是体育音乐”。程序运行界面如图 20-4 所示。注意:不得修改已经给出的程序和已有控件的属性。在结束程序运行之前,必须选中一个单选按钮和至少一个复选框,并单击“确定”按钮。必须使用窗体右上角的关闭按钮结束程序,否则无成绩。(分数:40.00)_正确答案:(解析 控件已经建立完好,只需设计事件过程即可。Timer1 控件的 Interval 属性是用来控制计时器事件发生的时间间隔,通过题意可知该属性设置为100(Interv
14、al 是以毫秒为单位)。当单击“发射”按钮时开始计时,把计时器控件的 Enabled 属性设置为True。如果使航天器即 P1 停止移动,需要将计时器控件的 Enagled 属性设置为 False。解题步骤:第一步:建立界面并设置控件属性。程序用到的控件及其属性见表 20-3。表 20-3控 件 属 性 设 置 值命令按钮 Name Cption C1 发射图片框 Name Picture p2图片框 Name Picture P1计时器 Name Timer1Interval 100第二步:编写程序代码。程序提供的代码:Private Sub C1_Click() Timer1.Enable
15、d=End SubPrivate Sub Timer1_Timer()Static a%a=a+1 If P1.TopP2.Top+P2.? ThenP1.Move P1.Left, P1.Top-5-a, P1.Width, P1.HeightElse Timer1.?=FalseEnd IfEnd Sub参考代码:Private Sub C1_Click()Timer1.Enabled=TrueEnd SubPrivate Sub Timer1_Timer()Static a%a=a+1If P1.TopP2.Top+P2.Height ThenP1.Move P1.Left, P1.To
16、p-5-a, P1.Width, P1.HeightElseTimer1.Enabled=FalseEnd IfEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘。(2) 解析 在窗体上建立好控件后,先设置控件属性,再编写事件过程。在文本框里显示的内容通过文本框的 Text 属性设置。Value 属性用来表示复选框后单选框的状态。对于单选框来说,Value 属性可设置为 True 或 False 当设置为 True 时,该单选按钮是被选中的,否则该单选按钮没有被选中。对于复选框来说,Value 属性可以设置为 0、1 或 2。其中:0表示没有选中该复选框;1表示选中该复选框;2表示该
17、复选框被禁止(灰色)。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 20-4。表 20-4对 象 属 性 设 置 值复选按钮 Name Cption Ch1 体育复选按钮 Name Cption Ch2 音乐单选按钮 Name Cption Op1 男生单选按钮 Name Cption Op1 女生文本框 Name Text1文本框 Name Text2命令按钮 Name Cption C1 确定 第二步:编写程序代码。参考代码:程序提供的代码:Private Sub Form_Unload(Cancel As Integer)Open “out4.txt“ For
18、Output As #1Print #1, Op1.Value, Op2.Value, Text1.TextPrint #1, Ch1.Value, Ch2.Value, Text2.TextClose #1End Sub参考代码:Private Sub C1_Click()If Op1.Value ThenText1.Text=“我是“ & Op1.CaptionElseText1.Text=“我市“ & Op2.CaptionEnd IfText2.Text=“我的爱好是“If Ch1.Value=1 ThenText2.Text=Text2.Text & Ch1.CaptionEnd I
19、fIf Ch2.Value=1 ThenText2.Text=Text2.Text & Ch2.CaptionEnd IfEnd SubPrivate Sub Form Unload(Cancel As Integer)Open “out4.txt“ For Output As #1Print #1, Op1.Value, Op2.Value, Text1.TextPrint #1, Ch1.Value, Ch2.Value, Text2.TextClose #1End Sub第三步:调试并运行程序。第四步:按题目要求存盘。)解析:三、3 综合应用题(总题数:1,分数:30.00)3.注意:下
20、面出现的“考生文件夹”均为 c:/wexam/25160001。在考生文件夹下有一个工程文件 sjt5.vbp,其窗体上有一个文本框,名称为 Text1;两个命令按钮,名称分别为 C1 和 C2,标题分别为“计算”、“存盘”,设计界面如图 20-5 所示。并有一个函数过程isprime,其功能是判断参数 a 是否为素数,如果是素数,则返回 True,否则返回 False。请将程序中问号的地方用相应的代码补充完整,使得在运行时,单击“计算”按钮,则找出小于 18000 的最大的素数,并显示在 Text1 中;单击“存盘”按钮,则把 Text1 中的计算结果存入考生文件夹下的out5.txt 文件
21、中。注意:考生不得修改 isprime 函数过程和控件的属性,必须把计算结果通过“存盘”按钮存入 out5.txt文件中,否则无成绩。(分数:30.00)_正确答案:(解析 在窗体上建立好控件后,先设置控件的属性,再编写事件过程。素数的判断准则就是看是否该数除了 1 和其本身外别无其他约数(即从 2 到 n-1 之间没有可以将其整除的数)即可,变量 flag 是用于保留判断数是否是素数的结果的,值有 True 和 False 两个(从程序中可以看出)所以应将其定义为布尔型(Boolean),并且在函数中判断完之后,将 flag 的值赋给函数过程 isprime的名字。文本框用 Text 属性来
22、显示计算机结果,其形式为:文本框名.Text=要显示的内容将数据写入文件可用命令 Write#或 Print#,本程序中用的是后者,其形式为:Pint#文件号,输出列表。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性值见表 20-5。表 20-5对 象 属 性 设 置 值文本框 Name Text1命令按钮 Name Cption C1 计算命令按钮 Name Cption C2 存盘第二步:编写程序代码。程序中提供的代码:Private Function isprime(a As Integer) As Boolean Dim flag As?flag=Trueb%=2D
23、o While b%=Int(a/2) And flagIf Int(a/b%)=a/b% Thenflag=FalseElseb%=b%+1End If ?isprime=flagEnd FunctionPrivate Sub C1_Click()Dim i As Integeri=18000Doi=i-1Loop Until isprime(i) Text1.?=iEnd SubPrivate Sub C2_Click()Open “out5.txt“ For Output As #1Print #1, Text1.TextClose #1End Sub参考代码:Private Funct
24、ion isprime(a As Integer) As BooleanDim flag As Booleanflag=Trueb%=2Do While b%=Int(a/2) And flagIf Int(a/b%)=a/b% Thenflag=FalseElseb%=b%+1End IfLoopisprime=flagEnd FunctionPrivate Sub C1_Click()Dim i As Integeri=18000Doi=i-1Loop Until isprime(i)Text1.Text=iEnd SubPrivate Sub C2_Click()Open “out5.txt“ For Output As #1Print #1, Text1.TextClose #1End Sub第三步:调试并运行程序。第四步:按题目要求存盘。)解析: