1、二级 VISUAL+BASIC 机试-117 及答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:30.00)完成下列问题:(分数:30.00)(1).在名称为 Form1 的窗体上画一个名称为 Label1、标题为“滚动条控件”的标签,一个名称为Hscroll1 的水平滚动条。请通过属性窗口设置属性使水平滚动条取值范围的最小值为 1,最大值为 100,滚动条的宽度为 3000、高度为 300,滚动块的初始位置为 20。程序运行后的窗体如图 1 所示。*注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1.vbp,窗体文件名为 sjt1.1frm。(分
2、数:15.00)_(2).在名称为 Form1 的窗体上画一个名称为 Shape1 的形状控件,位置在窗体的顶部,在属性窗口中将其设置为圆形。画一个名称为 Timer1 的计时器,在属性窗口中将其设置为不可用,时间间隔为 0.5s,窗体如图 2 所示。请编写窗体的 Load 事件过程和计时器的事件过程,使得程序一开始运行计时器即变为可用,且每隔 0.5s 形状控件向下移动 100。*注意:要求程序中不得使用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjt2.vbp,窗体文件名为 sjt2.frm。(分数:15.00)_二、简单应用题(总题数:1,分数:40
3、.00)完成下列问题:(分数:40.00)(1).在考生文件夹中有一个工程文件 sjt3.vbp。程序的功能是输入用户名和密码。程序运行时,当向文本框 Text2 中输入密码时,若“显示密码”复选框没有被选中,则文本框 Text3 中同时显示“#”(如图 3所示);若“显示密码”复选框被选中,再重新输入密码时,则在 Text3 中同时显示的是密码字符本身。*在给出的窗体文件中已经添加了全部控件,但程序不完整。要求:去掉程序中的注释符,在程序中的横线处填写正确的内容,使其能正确运行,但不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。题目提供的源程序Private Sub Te
4、xt2_Change()If (1) =1 ThenText3.PasswordChar= (2) ElseText3.PasswordChar= (3) End IfText3.Text= (4) End Sub(分数:20.00)_(2).考生文件夹下有一个工程文件 sjt4.vbp。该程序的功能是:程序运行时,向文本框控件数组Text1(有 5 个文本框)中任意输入 5 个数,单击名称为 Command1 的命令按钮,则找出其中最小数并显示在标签 lblResult 中。窗体文件中已经给出了全部控件,但程序不完整,其中函数 FindMin 返回两个数中的较小数。要求:在程序中的横线处填写
5、正确的内容,使其能正确运行,但不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。题目提供的源程序Private Sub Command1_Click()Dim x As Integer, k As Integerx=Val(Text1(1).Text)For k=2 To (1) x=FindMin(Val(Text1(k).Text), (2) )NextlblResult Caption= (3) End SubPublic Function FindMin(x As Integer, y As Integer)If x (4) y ThenFindMin=yElseFi
6、ndMin=xEnd IfEnd Function(分数:20.00)_三、综合应用题(总题数:1,分数:30.00)1.在考生文件夹下有一个工程文件 sjt5.vbp。该程序的功能是:分别统计 77 数组元素之和及元素中能够被 7 整除的元素的个数,并将统计结果显示在相应的标签中。请仔细阅读已有程序,然后在标出的位置编写适当的程序实现上述功能。要求:不得修改原有程序和控件属性。在结束程序运行之前,必须至少正确运行一次程序,将统计结果显示在标签中,否则无成绩。最后把修改后的文件按原文件名存盘。题目提供的源程序Dim a(7,7) As IntegerPrivate Sub Form_Load(
7、)readEnd SubPublic Sub read()Open App.Path & “/Data5.txt“ For Input As #1Do While Not EOF(1)For i=1 To 7For j=1 To 7Input #1, a(i,j)Next jNext iLoopClose #1End SubPrivate Sub Command1_Click()Dim Sum As Long考生应编写的程序SaveEnd SubPublic Sub Save()Open App.Path & “/out5.txt“ For Output As #1Print #1. lblF
8、irst.Caption, lblSecond.CaptionClose #1End Sub(分数:30.00)_二级 VISUAL+BASIC 机试-117 答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:30.00)完成下列问题:(分数:30.00)(1).在名称为 Form1 的窗体上画一个名称为 Label1、标题为“滚动条控件”的标签,一个名称为Hscroll1 的水平滚动条。请通过属性窗口设置属性使水平滚动条取值范围的最小值为 1,最大值为 100,滚动条的宽度为 3000、高度为 300,滚动块的初始位置为 20。程序运行后的窗体如图 1 所
9、示。*注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1.vbp,窗体文件名为 sjt1.1frm。(分数:15.00)_正确答案:(操作步骤第 1 步:新建一个标准 EXE 工程。第 2 步:在窗体上画一个标签控件,设置其 Caption 属性为“滚动条控件”。第 3 步:在窗体上画一个水平滚动条,保持其名称 HScroll1 不变,设置其 Min 属性值为 1,Max 属性值为100,Width 属性值为3000,Height 属性值为 300,Value 属性值为 20。第 4 步:调试、运行并保存程序。)解析:解析 滚动条的取值范围由其 Min 和 Max 两个属性控制,滚动块
10、的初始位置由 Value 属性控制,滚动条的 Width 和 Height 属性分别表示滚动条控件的宽度和高度。(2).在名称为 Form1 的窗体上画一个名称为 Shape1 的形状控件,位置在窗体的顶部,在属性窗口中将其设置为圆形。画一个名称为 Timer1 的计时器,在属性窗口中将其设置为不可用,时间间隔为 0.5s,窗体如图 2 所示。请编写窗体的 Load 事件过程和计时器的事件过程,使得程序一开始运行计时器即变为可用,且每隔 0.5s 形状控件向下移动 100。*注意:要求程序中不得使用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjt2.vbp
11、,窗体文件名为 sjt2.frm。(分数:15.00)_正确答案:(操作步骤第 1 步:新建一个标准的 EXE 工程,保持现有窗体默认属性值不变。第 2 步:在窗体上画一个形状控件,保持其名称 Shape1 不变,修改其 Top 属性值为 0,修改其 Shape 属性值为 3-Circle。第 3 步:在窗体上画一个计时器控件,修改其 Enabled 属性值为 False,修改其 Interval 属性值为 500。第 4 步:编写代码。在代码编写窗口中,分别编写窗体的 Load 事件过程和计时器的 Timer 事件过程。Private Sub Form_Load()Timer1.Enable
12、d=TrueEnd SubPrivate Sub Timer1_Timer()Shape1.Top=Shape1.Top+100End Sub第 5 步:调试、运行并保存程序。)解析:解析 形状控件的位置由其 Left 和 Top 属性控制,将其 Top 属性设置为 0 可使形状控件紧贴窗体的上边界;形状控件的形状由 Shape 属性控制,要显示为圆形,则需要将 Shape 属性设置为 3-Circle。计时器控件的是否可用由 Enabled 属性控制,在计时器控件的 Timer 事件过程中改变形状控件的 Top 属性可以使得形状控件在竖直方向连续移动。二、简单应用题(总题数:1,分数:40.
13、00)完成下列问题:(分数:40.00)(1).在考生文件夹中有一个工程文件 sjt3.vbp。程序的功能是输入用户名和密码。程序运行时,当向文本框 Text2 中输入密码时,若“显示密码”复选框没有被选中,则文本框 Text3 中同时显示“#”(如图 3所示);若“显示密码”复选框被选中,再重新输入密码时,则在 Text3 中同时显示的是密码字符本身。*在给出的窗体文件中已经添加了全部控件,但程序不完整。要求:去掉程序中的注释符,在程序中的横线处填写正确的内容,使其能正确运行,但不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。题目提供的源程序Private Sub Tex
14、t2_Change()If (1) =1 ThenText3.PasswordChar= (2) ElseText3.PasswordChar= (3) End IfText3.Text= (4) End Sub(分数:20.00)_正确答案:(操作步骤第 1 步:打开工程 sjt3.vbp。第 2 步:修改源程序。第 3 步:调试、运行并保存工程。1Check1.Value 2“ 3“#“ 4Text2.Text)解析:解析 当“显示密码”复选框处于选中状态,并且其 Value 属性值为 1 时,文本框原样显示内容,否则文本框中显示一串“#”。当文本框的 PasswordChar 属性为空时
15、,原样显示文本框的内容,否则文本框中的显示内容由 PasswordChar 属性字符代替显示。(2).考生文件夹下有一个工程文件 sjt4.vbp。该程序的功能是:程序运行时,向文本框控件数组Text1(有 5 个文本框)中任意输入 5 个数,单击名称为 Command1 的命令按钮,则找出其中最小数并显示在标签 lblResult 中。窗体文件中已经给出了全部控件,但程序不完整,其中函数 FindMin 返回两个数中的较小数。要求:在程序中的横线处填写正确的内容,使其能正确运行,但不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。题目提供的源程序Private Sub Co
16、mmand1_Click()Dim x As Integer, k As Integerx=Val(Text1(1).Text)For k=2 To (1) x=FindMin(Val(Text1(k).Text), (2) )NextlblResult Caption= (3) End SubPublic Function FindMin(x As Integer, y As Integer)If x (4) y ThenFindMin=yElseFindMin=xEnd IfEnd Function(分数:20.00)_正确答案:(操作步骤第 1 步:打开工程 sjt3.vbp。第 2 步
17、:修改源程序。第 3 步:调试、运行并保存程序。15 2x 3x 4或=)解析:解析 程序首先取出第一个文本框中的内容并将其转换为数值型数据存储在变量 x 中,然后通过调用函数 FindMin()让 x 与其余文本框中的内容作比较,如果其他文本框中的内容小于 x,则用该文本框的内容替换掉 x 的值,再用 x 与剩余文本框中的内容做比较,以此类推,直到比较完所有的文本框中的内容,则变量 x 中的值就是所求的最小值。1处用于控制比较的次数,目的是从第二个文本框到最后一个文本框逐一与 x 的值比较,而最后一个文本框的下标为 5,所以1处应填 5。调用函数 FindMin 时,是用一个文本框中的内容与
18、当前所找到的最小值 x 相比较,所以第二个参数应该是 x。3处是为了显示最小值,根据前面的分析,这里应该显示 x 的值。FindMin 函数通过比较两个形参的大小来决定函数的返回值,只有当 x=y 或 xy 时,返回 y 的值,否则返回 x。三、综合应用题(总题数:1,分数:30.00)1.在考生文件夹下有一个工程文件 sjt5.vbp。该程序的功能是:分别统计 77 数组元素之和及元素中能够被 7 整除的元素的个数,并将统计结果显示在相应的标签中。请仔细阅读已有程序,然后在标出的位置编写适当的程序实现上述功能。要求:不得修改原有程序和控件属性。在结束程序运行之前,必须至少正确运行一次程序,将
19、统计结果显示在标签中,否则无成绩。最后把修改后的文件按原文件名存盘。题目提供的源程序Dim a(7,7) As IntegerPrivate Sub Form_Load()readEnd SubPublic Sub read()Open App.Path & “/Data5.txt“ For Input As #1Do While Not EOF(1)For i=1 To 7For j=1 To 7Input #1, a(i,j)Next jNext iLoopClose #1End SubPrivate Sub Command1_Click()Dim Sum As Long考生应编写的程序S
20、aveEnd SubPublic Sub Save()Open App.Path & “/out5.txt“ For Output As #1Print #1. lblFirst.Caption, lblSecond.CaptionClose #1End Sub(分数:30.00)_正确答案:(操作步骤第 1 步:打开工程 sjt5.vbp。第 2 步:编写程序,参考程序如下。考生应编写的程序Dim gs As IntegerSum=0gs=0For i=1 To 7For j=1 To 7If i=1 Or j=1 Or i=7 Or j=7 ThenSum=Sum+a(i,j)If a(i,j)Mod 7=0 Then gs=gs+1End IfNext jNext ilblFirst.Caption=gslblSecond.Caption=Sum第 3 步:调试、运行并保存程序。)解析:解析 根据二维数组各元素的下标来判断该元素是否为数组的元素,如果元素的行标为 1 或列标为 1 或行标为 7 或列标为 7,则该元素为数组的元素。如果一个元素与 7 相除余数为 0,则说明该元素能被 7 整除。