1、VB 机试-试卷 75 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.请根据以下各小题的要求设计 VisualBasic 应用程序(包括界面和代码)。(1)在名称为 Forml、标题为“练习”的窗体上画一个名称为 Framel、标题为“效果”的框架。框架内含有三个复选框,其名称分别为 Chkl、Chk2 和 Chk3,标题分别为“倾斜”、“加粗”和“下划线”。运行后的窗体如图 1-23l 所示。要求:存盘时必须存放在考生文件夹下,工程文件名为 sjtlvbp,窗体文件名为 sjtlfrm。 (2)在名称
2、为 Forml 的窗体上画一个名称为 Labell 的标签,其初始内容为空,且能根据指定的标题内容自动调整标签的大小;再画两两个命令按钮,标题分别是“日期”和“时间”,名称分别为Commandl、Command2。请编写两个命令按钮的 Click 事件过程,使得单击“日期”按钮时,标签内显示系统当前日期;单击“时间”按钮时,标签内显示系统当前时间,如图 1-232 所示。要求:程序中不得使用变量,每个事件过程中只能写一条语句。注意:存盘时必须存放在考生文件夹下,工程文件名为sjt2vbp,窗体文件名为 sjt2frm。 (分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应
3、用题()(分数:2.00)_4.(1)在考生文件夹下有一个工程文件 sjt3vbp,在 Forml 的窗体中有一个文本框、两个命令按钮和一个计时器。程序的功能是在运行时,单击“开始计数”按钮,就开始计数,每隔 1 秒,文本框中的数加l;单击“停止计数”按钮,则停止计数(如图 1-218 所示)。要求:修改适当的控件的属性,并去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件以原来的文件名存盘。 (2)已知出租车行驶不超过 4 千米时一律收费 10 元。超过 4 千米时分段处理,具体处理方式为;15 千米以内每千米加收 12 元,15
4、 千米以上每千米收 18 元。在考生文件夹卞有一个工程文件 8jt4vbp。程序的功能是;单击“输入”按钮,将弹出一个输入对话框,接收出租车行驶的里程数;单击“计算”按钮,则可根据输入的里程数计算应付的出租车费,并将计算结果显示在名称为 Textl 的文本框内。在窗体文件中已经给出了全部控件(如图 1-219 所示),但程序不完整,要求去掉程序中的注释符,把程序中的?改为正确的内容。注意:不得修改已经存在的内容和控件属性,最后将修改后的文件按原文件名存盘。 (分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.在考生文件夹下有一个工程文件 s
5、jt5,vbp。其窗体中有一个名称为 Textl 的文本框数组,下标从 0 开始。程序运行时,单击“产生随机数”按钮,就会产生 10 个 3 位数的随机数,并放入 Textl 数组中,如图 1-25(a)所示;单击“重排数据”按钮,将把 Textl 中的奇数移到前面,偶数移到后面,如图 1-25(b)所示。文件中已经给出了所有控件和部分程序。要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。提示:在“重排数据”按钮的事件过程中有对其算法的文字描述,请仔细阅读。 (分数:2.00)_VB 机试-试卷 75
6、答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.请根据以下各小题的要求设计 VisualBasic 应用程序(包括界面和代码)。(1)在名称为 Forml、标题为“练习”的窗体上画一个名称为 Framel、标题为“效果”的框架。框架内含有三个复选框,其名称分别为 Chkl、Chk2 和 Chk3,标题分别为“倾斜”、“加粗”和“下划线”。运行后的窗体如图 1-23l 所示。要求:存盘时必须存放在考生文件夹下,工程文件名为 sjtlvbp,窗体文件名为 sjtlfrm。 (2)在名称为 Forml 的窗
7、体上画一个名称为 Labell 的标签,其初始内容为空,且能根据指定的标题内容自动调整标签的大小;再画两两个命令按钮,标题分别是“日期”和“时间”,名称分别为Commandl、Command2。请编写两个命令按钮的 Click 事件过程,使得单击“日期”按钮时,标签内显示系统当前日期;单击“时间”按钮时,标签内显示系统当前时间,如图 1-232 所示。要求:程序中不得使用变量,每个事件过程中只能写一条语句。注意:存盘时必须存放在考生文件夹下,工程文件名为sjt2vbp,窗体文件名为 sjt2frm。 (分数:2.00)_正确答案:(正确答案:第 l 小题 第 l 小题 审题分析】本题只需按题目
8、在窗体中画出控件,并设置相关属性即可。 【操作步骤】 步骤 1:新建一个“标准 EXE”工程,如表 2-135 在窗体中画出控件并设置其相关属性。 步骤 2:按要求将文件保存至考生文件夹中。 第 2 小题 【操作步骤】 步骤 l:新建一个“标准 EXE工程,如表 2136 在窗体中画出控件并设置其相关属性。 步骤 2:在代码编辑窗口编写以下事件过程。 参考代码: PriVate Sub Command1_Click() LabellCaption=Date End Sub PriVate Sub Command2_Click() Label1Caption=Time End Sub 步骤 3:
9、按要求将文件保存至考生文件夹中。 )解析:解析:第 l 小题 本题只需按题目在窗体中画出控件,并设置相关属性即可。 第 2 小题 Date 函数用于获取当前系统日期,Time 函数用于获取当前系统时间。AutoSize 属性用来确定是否根据Caption 属性指定的标题自动调整标签的大小,可以设置为 True 或 False。 本题只需在“日期”按钮的单击事件过程中,通过调用 Date 函数在标签中显示当前系统日期;在“时间”按钮的单击事件过程中,通过调用 Time 函数在标签中显示当前系统时间。二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)
10、在考生文件夹下有一个工程文件 sjt3vbp,在 Forml 的窗体中有一个文本框、两个命令按钮和一个计时器。程序的功能是在运行时,单击“开始计数”按钮,就开始计数,每隔 1 秒,文本框中的数加l;单击“停止计数”按钮,则停止计数(如图 1-218 所示)。要求:修改适当的控件的属性,并去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件以原来的文件名存盘。 (2)已知出租车行驶不超过 4 千米时一律收费 10 元。超过 4 千米时分段处理,具体处理方式为;15 千米以内每千米加收 12 元,15 千米以上每千米收 18 元。在考生文
11、件夹卞有一个工程文件 8jt4vbp。程序的功能是;单击“输入”按钮,将弹出一个输入对话框,接收出租车行驶的里程数;单击“计算”按钮,则可根据输入的里程数计算应付的出租车费,并将计算结果显示在名称为 Textl 的文本框内。在窗体文件中已经给出了全部控件(如图 1-219 所示),但程序不完整,要求去掉程序中的注释符,把程序中的?改为正确的内容。注意:不得修改已经存在的内容和控件属性,最后将修改后的文件按原文件名存盘。 (分数:2.00)_正确答案:(正确答案:第 1 小题 【操作步骤】 步骤 l:打开本题工程文件 sisvbp,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码:
12、 Select Case Index Case 0 TextlText=TextlText+1 步骤 2:按要求将文件保存至考生文件夹中。 【主要考点】计时器。 第 2小题 【操作步骤】 步骤 l:打开考生文件中的本题工程文件 sjt4vbp,在代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: Select Case s f=10 f=10+ (s-4) *12 Case Else f=10+ (15-4) *12+ (s-15) *18 步骤 2:按要求将文件保存至考生文件夹中。)解析:解析:第 1 小题 可借助计时器来完成有规律性时间间隔执行的任务。本题计时器
13、工作时,为使文本框中的数每隔 1 秒加 l,需将计时器的 Interval 属性值设置为 1000 毫秒,在命令按钮数组的单击事件过程中通过判断触发事件的元素下标来执行启动计时器或者关闭计时器,在计时器的 Timer 事件过程中通过语句 TextlText=TextlText+l 实现加 1。 第 2 小题 多分支控制结构也称为 Select Case 语句或Case 语句,它和 If 语句差不多,都是对一个条件的结果判断后再进行操作,它们的区别是前者只对单个条件来判断,后者则可以对多个条件来判断。Select Case 语句的格式如下: SelectCase 变量或表达式 Case 表达式列
14、表 l 语句块 1 Case 表达式列表 2 语句块 2 Case Else 【语句块 n+1】 End Select 本题原程序通过使用 Select Case 语句对输入的数据(已赋值给变量 s)进行检验,若不超过 4,则按 f=10 计算;若在 15 以内,则按 f=10+(s-4)*12 计算:若在 15 以上,则按 f=10+(15-4)*12+(s-15)*18 计算。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.在考生文件夹下有一个工程文件 sjt5,vbp。其窗体中有一个名称为 Textl 的文本框数组,下标从 0 开始。程序运行时
15、,单击“产生随机数”按钮,就会产生 10 个 3 位数的随机数,并放入 Textl 数组中,如图 1-25(a)所示;单击“重排数据”按钮,将把 Textl 中的奇数移到前面,偶数移到后面,如图 1-25(b)所示。文件中已经给出了所有控件和部分程序。要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。提示:在“重排数据”按钮的事件过程中有对其算法的文字描述,请仔细阅读。 (分数:2.00)_正确答案:(正确答案: 【操作步骤】 步骤 1:打开考生文件中的本题工程文件 sjt5vbp,在代码编辑窗口,去掉程
16、序中的注释符“”,将问号“?”改为正确的内容。 参考代码: j=9 temp=Textl(j) While(i解析:解析:本题原程序中,变量 i 和 j 均用做 txtRnd 文本框数组的索引号(即 Index 属性值),根据算法中的第 1 条,可知 i=0、j=9、temp=Textl(i),其中“暂存最后一个数”的目的是为空出一个位置放第一个偶数。根据算法中的第 3 条,检查第 j 个数是否为奇数的条件表达式为: Textl (i)Mod 2=1。算法中的第 2 条和第 3 条交替运行,将实现一后(偶数)一前(奇数)重排数据的目的。根据算法中韵第 4 条,可知在 i 向后移、j 向前移过程中,当闩时则停止这种移动(故 While 循环的条件表达式为 ij)。将先前暂存的数(temp)放到当前空缺位置,以实现算法中的第 5 条。