1、国家二级 VB 机试(上机操作)-试卷 25 及答案解析(总分:10.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。在标题为”文本框”、名称为 Forml 的窗体上画一个名称为 Textl 的文本框,无初始内容,其高、宽分别为 2000、1800,可显示多行,有水平滚动条,并通过属性窗口把文本框的字体样式设置为”斜体”(如图 249 所示)。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjtlvbp,窗体文件名为 sjtlfrm。 (分数:2.00)_2.在名称为 Forml
2、的窗体上画一个名称为 Listl 的列表框,通过属性窗口输入 4 个列表项:”数学”、”物理”、”化学”、”语文”,如图 2-50 所示。请编写适当的事件过程,使得在装入窗体时,把最后一个列表项自动改为”英语”;单击窗体时,则删除最后一个列表项。注意:要求程序中不得使用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjt2vbp,窗体文件名为 sjt2frm。 (分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.在名称为 Forml 的窗体上画一个名称为。Textl 的文本框;画两个标题分别为”对齐方式”、”字体”,名称分别为 Framel、F
3、rame2 的框架;在 Framel 框架中画三个单选按钮,标题分别为”左对齐”、”居中”、”右对齐”,名称分别为 Optionl、Option2、Option3;在 Frame2 框架中画两个单选按钮,标题分别为”宋体”、”黑体”,名称分别为 Option4、Option5。要求:编写五个单选按钮的 Click 事件过程,使程序运行时,单击这些单选按钮,可以对文本框中的文字实现相应的操作(如图 2-51 所示)。注意:要求程序中不得使用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjt3vbp,窗体文件名为 sjt3,frm。 (分数:2.00)_4.在考
4、生文件夹下有一个工程文件 sjt4vbp。其窗体上有一个圆,相当于一个时钟,当程序运行时通过窗体的 Activate 事件过程在圆上产生 1 两个刻度点,并完成其他初始化工作;另有长、短 2 条(红色、蓝色)直线,名称分别为 Linel 和 Line2,表示两个指针。程序运行时,单击”开始”按钮,则每隔 05 秒Linel(长指针)顺时针转动一个刻度,Line2(短指针)顺时针转动 11 两个刻度(即长指针转动一圈,短指针转动一个刻度),单击”停止”按钮,两个指针停止转动,如图 2-52 所示。在窗体文件中已经给出了全部控件,但程序不完整,要求去掉程序中的注释符,把程序中的?改为正确的内容。提
5、示:程序中的符号常量 x0、y0 是圆心到窗体左上角的距离,radius 是圆的半径。注意:不能修改程序中的其他部分和控件的属性。最后把修改后的文件按原文件名存盘。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)5.在考生目录下有一个工程文件 sjt5vbp,其窗体如图 2-53 所示。考生目录下有一个 in5dat 文件,文件中有 5 个运动员的姓名、7 个裁判的打分和动作的难度系数。每人的数据占一行,顺序是:姓名、7个分数、难度系数。程序运行时,单击”输入”按钮,可把 in5dat 文件中的 5 个姓名读入数组athlete 中,把 5 组得分(每组 7 个)和难度系数读
6、入二维数组 a 中(每行的最后一个元素是难度系数),并把这些数据显示在 Textl 文本框中;单击”选出冠军”按钮,则把冠军的姓名和成绩分别显示在文本框Text2、Text3 中。成绩的计算方法是:去掉一个最高分和一个最低分,求剩下得分的平均分,乘以 3 再乘以难度系数;单击”存盘”按钮,则把冠军姓名和成绩存入考生目录下的 out5dat 文件中。要求:去掉程序中的注释符,把程序中的?改为正确的内容(程序中 getmark 函数的功能是计算并返回第 n 个运动员的最后得分),并编写”选出冠军”按钮的 Click 事件过程。注意:不得修改已经存在的程序和控件的属性,在结束程序运行前,必须用”存盘
7、”按钮存储计算结果,否则无成绩。最后,程序按原文件名存盘。(分数:2.00)_国家二级 VB 机试(上机操作)-试卷 25 答案解析(总分:10.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。在标题为”文本框”、名称为 Forml 的窗体上画一个名称为 Textl 的文本框,无初始内容,其高、宽分别为 2000、1800,可显示多行,有水平滚动条,并通过属性窗口把文本框的字体样式设置为”斜体”(如图 249 所示)。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjtlvbp,窗
8、体文件名为 sjtlfrm。 (分数:2.00)_正确答案:(正确答案:步骤 1:新建一个”标准。EXE”工程,如表 3-26 在窗体中画出控件并设置其相关属性。 )解析:2.在名称为 Forml 的窗体上画一个名称为 Listl 的列表框,通过属性窗口输入 4 个列表项:”数学”、”物理”、”化学”、”语文”,如图 2-50 所示。请编写适当的事件过程,使得在装入窗体时,把最后一个列表项自动改为”英语”;单击窗体时,则删除最后一个列表项。注意:要求程序中不得使用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjt2vbp,窗体文件名为 sjt2frm。 (分
9、数:2.00)_正确答案:(正确答案:步骤 1:新建一个”标准 EXE”工程,在窗体 Forml 中加入一个列表框,在属性设置窗口中将其 Name 属性设置为 Listl,在其 List 属性中添加四个项目,依次为”数学”、”物理”、”化学”和”语文”。注意:每输入完一项后按Ctrl+Enter键换行再输入下一项。 步骤 2:打开代码编辑窗口,编写相应的事件过程: 参考代码: Private Sub Form_Click( ) ListlRemoveItem ListlListCount_1 Enld Sub Private Sub Form_Load( ) ListlList(ListlLi
10、stCount-1)=“英语”End Sub 步骤 3:按要求将文件保存至考生文件夹中。)解析:二、简单应用题(总题数:2,分数:4.00)3.在名称为 Forml 的窗体上画一个名称为。Textl 的文本框;画两个标题分别为”对齐方式”、”字体”,名称分别为 Framel、Frame2 的框架;在 Framel 框架中画三个单选按钮,标题分别为”左对齐”、”居中”、”右对齐”,名称分别为 Optionl、Option2、Option3;在 Frame2 框架中画两个单选按钮,标题分别为”宋体”、”黑体”,名称分别为 Option4、Option5。要求:编写五个单选按钮的 Click 事件过
11、程,使程序运行时,单击这些单选按钮,可以对文本框中的文字实现相应的操作(如图 2-51 所示)。注意:要求程序中不得使用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjt3vbp,窗体文件名为 sjt3,frm。 (分数:2.00)_正确答案:(正确答案:步骤 1:新建一个”标准 EXE”工程,如表 3-27 在窗体中画出控件并设置其相关属性。 步骤 2:在代码编辑窗口,分别编写 5 个按钮的单击事件过程。 参考代码: Private Sub Optionl_Click( ) TextlAlignment=0 End Sub Private Sub Opti
12、on2 _Click( ) TextlAlignment=2 End Sub Private Sub Option3_ Click( ) Text1Alignment=1 End Sub Private Sub Option4_Click( ) Text1Font=“宋体” End Sub Private Sub Option5_Click( ) TextlFont=“黑体” End Sub 步骤3:按要求将文件保存至考生文件夹中。 )解析:4.在考生文件夹下有一个工程文件 sjt4vbp。其窗体上有一个圆,相当于一个时钟,当程序运行时通过窗体的 Activate 事件过程在圆上产生 1 两个
13、刻度点,并完成其他初始化工作;另有长、短 2 条(红色、蓝色)直线,名称分别为 Linel 和 Line2,表示两个指针。程序运行时,单击”开始”按钮,则每隔 05 秒Linel(长指针)顺时针转动一个刻度,Line2(短指针)顺时针转动 11 两个刻度(即长指针转动一圈,短指针转动一个刻度),单击”停止”按钮,两个指针停止转动,如图 2-52 所示。在窗体文件中已经给出了全部控件,但程序不完整,要求去掉程序中的注释符,把程序中的?改为正确的内容。提示:程序中的符号常量 x0、y0 是圆心到窗体左上角的距离,radius 是圆的半径。注意:不能修改程序中的其他部分和控件的属性。最后把修改后的文
14、件按原文件名存盘。 (分数:2.00)_正确答案:(正确答案:步骤 1:打开考生文件中的本题工程文件 sjt4vbp,在代码编辑窗口,去掉程序中的注释符”“,将问号”?”改为正确的内容。 参考代码: Timer1Enabled=False For k=0 To 3 5 9 Step 30 x=radius * Cos(k* 31 41 5 91 8 0) +x0 Line1Y2 =y0 - len1 * Sin(a * 314159180) b=b-3012 步骤 2:按要求将文件保存至考生文件夹中。)解析:三、综合应用题(总题数:1,分数:2.00)5.在考生目录下有一个工程文件 sjt5v
15、bp,其窗体如图 2-53 所示。考生目录下有一个 in5dat 文件,文件中有 5 个运动员的姓名、7 个裁判的打分和动作的难度系数。每人的数据占一行,顺序是:姓名、7个分数、难度系数。程序运行时,单击”输入”按钮,可把 in5dat 文件中的 5 个姓名读入数组athlete 中,把 5 组得分(每组 7 个)和难度系数读入二维数组 a 中(每行的最后一个元素是难度系数),并把这些数据显示在 Textl 文本框中;单击”选出冠军”按钮,则把冠军的姓名和成绩分别显示在文本框Text2、Text3 中。成绩的计算方法是:去掉一个最高分和一个最低分,求剩下得分的平均分,乘以 3 再乘以难度系数;
16、单击”存盘”按钮,则把冠军姓名和成绩存入考生目录下的 out5dat 文件中。要求:去掉程序中的注释符,把程序中的?改为正确的内容(程序中 getmark 函数的功能是计算并返回第 n 个运动员的最后得分),并编写”选出冠军”按钮的 Click 事件过程。注意:不得修改已经存在的程序和控件的属性,在结束程序运行前,必须用”存盘”按钮存储计算结果,否则无成绩。最后,程序按原文件名存盘。(分数:2.00)_正确答案:(正确答案:步骤 1:打开考生文件中的本题工程文件 sjt5vbp,在代码编辑窗口,去掉程序中的注释符”“,将问号”?”改为正确的内容。 参考代码: s=a(n, 1) For k=2
17、 To 7 getmark= s * 3 * a(n, 8) Private Sub Command2_Cl ick( ) 要求考生编写的程序 Dim k As Integer maxmark=getmark(1) m=1 For k=2 To 5 If maxmarkgetmark(k) Then maxmark=getmark(k) m=k EndIf Next k Text2 = athlete(m) Text3=maxmark End Sub 步骤 2:按要求将文件保存至考生文件夹中。 步骤 3:按F5键键运行程序,先单击”读入”按钮,然后单击”选出冠军”按钮,最后单击”存盘”按钮。)解析: