1、VB 机试-试卷 16 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.请根据以下各小题的要求设计 VisualBasic 应用程序(包括界面和代码)。(1)在名称为 Forml 的窗体上画一个名称为 Labell 的标签,标签的宽和高分别为 2000、300,有边框,并利用属性窗口设置适当的属性,使其居中显示“等级考试”,并使标签的外观如图 1-226 所示。运行后的窗体见图 1226。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjtlvbp,窗体文件名为 sjtlfrm。 (分数:2.00)_
2、二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)在名称为 Forml 的窗体上画一个名称为 Textl 的文本框;画两个标题分别为“对齐方式”、“字体”,名称分别为 Framel、Frame2 的框架;在 Framel 框架中画三个单选按钮,标题分别为“左对齐”、“居中”、“右对齐”,名称分别为 Optionl、Option2、Option3 在 Frame2 框架中画两个单选按钮,标题分别为“宋体”、“黑体”,名称分别为 Option4、Option5。要求:编写五个单选按钮的 Click 事件过程,使程序运行时,单击这些单选按钮,可以对文本框中的
3、文字实现相应的操作(如图 1-51 所示)。注意:要求程序中不得使用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjt3vbp,窗体文件名为 sjt3frm。 (2)在考生文件夹下有一个工程文件 sit4vbp。其窗体上有一个圆,相当于一个时钟,当程序运行时通过窗体的 Activate 事件过程在圆上产生 1 两个刻度点,并完成其他初始化工作;另有长、短 2 条(红色、蓝色)直线,名称分别为 Linel 和 Line2,表示两个指针。程序运行时,单击“开始”按钮,则每隔 05 秒 Linel(长指针)顺时针转动一个刻度,Line2(短指针)顺时针转动 11
4、两个刻度(即长指针转动一圈,短指针转动一个刻度),单击“停止”按钮,两个指针停止转动,如图 1-52 所示。在窗体文件中已经给出了全部控件,但程序不完整,要求去掉程序中的注释符,把程序中的?改为正确的内容。提示:程序中的符号常量 x0、y0 是圆心到窗体左上角的距离,radius 是圆的半径。注意:不能修改程序中的其他部分和控件的属性。最后把修改后的文件按原文件名存盘。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.在考生文件夹下有一个工程文件 sjt5vbp,其窗体中有一个实心圆。程序运行时,当用鼠标左键单击窗体任何位置时,实心圆则向
5、单击位置直线移动:若用鼠标右键单击窗体,则实心圆停止移动。窗体文件中已经给出了全部控件,但程序不完整。要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。(分数:2.00)_VB 机试-试卷 16 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.请根据以下各小题的要求设计 VisualBasic 应用程序(包括界面和代码)。(1)在名称为 Forml 的窗体上画一个名称为 Labell 的标签,标签的宽和高分别为
6、2000、300,有边框,并利用属性窗口设置适当的属性,使其居中显示“等级考试”,并使标签的外观如图 1-226 所示。运行后的窗体见图 1226。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjtlvbp,窗体文件名为 sjtlfrm。 (分数:2.00)_正确答案:(正确答案:第 1 小题 【操作步骤】 步骤 l:新建一个“标准 EXE”工程,在窗体 Forml 中画三个单选按钮,并设置它的相关属性,其属性及值如表 2-133 所示。 步骤 2:按要求将文件保存至考生文件夹中。 第 2 小题 【操作步骤】 步骤 l:新建一个“标准 EXE“工程,如表 2-134 在窗体中画出控件并设
7、置其相关属性。 )解析:解析:第 1 小题 Alignment 属性用于确定文本框中文本的放置方式,其值可以设置为 0(靠左,默认)、1(靠右)或 2(居中)。 本题只需按要求画出控件并设置其相应属性即可。 第 2 小题 为图像框控件指定图片有两种方法:一是在设计阶段通过 Picture 属性设置;二是在程序运行时通过 LoadPicture()图片加载函数加载。其语法为:图片框Picture=LoadPicture(“图像文件路径“),AppPath 可返回当前工程文件所在的文件夹路径,是使用相对路径的一种用法。用不带参数的 LoadPicture 函数为对象的Picture 属性赋值将清除
8、窗体、图片框及图像控件中的图形。Stretch(自动伸缩)属性用来设定图像框是否需要自动调整大小,以适应载入图像框中的图片的大小,值为 True 时表示自动调整。BorderStyle用于设置图像框的边框类型,值为 O 表示无边框,值为 1 表示有边框。 本题需分别在三个命令按钮的Click 事件过程中,用 LoadPicture()函数为图像框加载不同图片。二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)在名称为 Forml 的窗体上画一个名称为 Textl 的文本框;画两个标题分别为“对齐方式”、“字体”,名称分别为 Framel、Fram
9、e2 的框架;在 Framel 框架中画三个单选按钮,标题分别为“左对齐”、“居中”、“右对齐”,名称分别为 Optionl、Option2、Option3 在 Frame2 框架中画两个单选按钮,标题分别为“宋体”、“黑体”,名称分别为 Option4、Option5。要求:编写五个单选按钮的 Click 事件过程,使程序运行时,单击这些单选按钮,可以对文本框中的文字实现相应的操作(如图 1-51 所示)。注意:要求程序中不得使用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjt3vbp,窗体文件名为 sjt3frm。 (2)在考生文件夹下有一个工程文件
10、sit4vbp。其窗体上有一个圆,相当于一个时钟,当程序运行时通过窗体的 Activate 事件过程在圆上产生 1 两个刻度点,并完成其他初始化工作;另有长、短 2 条(红色、蓝色)直线,名称分别为 Linel 和 Line2,表示两个指针。程序运行时,单击“开始”按钮,则每隔 05 秒 Linel(长指针)顺时针转动一个刻度,Line2(短指针)顺时针转动 11 两个刻度(即长指针转动一圈,短指针转动一个刻度),单击“停止”按钮,两个指针停止转动,如图 1-52 所示。在窗体文件中已经给出了全部控件,但程序不完整,要求去掉程序中的注释符,把程序中的?改为正确的内容。提示:程序中的符号常量 x
11、0、y0 是圆心到窗体左上角的距离,radius 是圆的半径。注意:不能修改程序中的其他部分和控件的属性。最后把修改后的文件按原文件名存盘。(分数:2.00)_正确答案:(正确答案: 第 1 小题 【操作步骤】 步骤 l:新建一个“标准 EXE”工程,如表 2-27 在窗体中画出控件并设置其相关属性。 步骤 2:在代码编辑窗口,分别编写 5 个按钮的单击事件过程。 参考代码: Private Sub Optionl_Click() TextlAlignment=0 End Sub Private Sub Option2_C1ick() TextlAlignment=2 End Sub Priv
12、ate Sub Option3_Click() TextlAlignment=1 End Sub Private Sub Option4_Click() TextlFont=“宋体“ End Sub Private Sub Option5 Click() TextlFont=“黑体“ End Sub 步骤 3:按要求将文件保存至考生文件夹中。 )解析:解析: 第 1 小题 框架控件(Frame)是一个容器控件,常用于将界面上的控件分组,框架内的控件将随框架一起移动或隐藏,框架的 Caption 属性用于设置其显示的标题。容器(如窗体和框架)中的单选按钮(OptionButton)组常用于提供多
13、个选项间的唯一选择,其 Value 属性用于设置或返回每个单选按钮的选中状态;值为 False 表示未选,值为 True 表示选中。Alignment 属性用于确定文本框中文本的放置方式,其值可以设置为 0(靠左,默认)、l(靠右)或 2(居中)。FontName 属性用于设置程序运行时在控件中显示文本的字体,FontSize 属性、FontBold 属性、FontItalic 属性、FontStrikethru 属性和FontUnderline 属性可分别用来设置字体的大小和样式。 本题需分别在五个单选按钮的 Click 事件过程中,设置文本框 Textl 的 Alignment 属性或 F
14、ontName 属性为对应值。 第 2 小题 Activate(活动)、Deactivate(非活动)事件:当一个窗体成为活动窗口时发生 Activate 事件:当一个对象不再是活动窗口时发生 Deactivate 事件。Circle 语句的常用语法格式为:对象Circle(x,y),R,Color,Start,End,p。其功能是在对象指定位置上画圆或椭圆。其中,(x,y)是圆心坐标,R 是圆半径;Start、End 这两个参数表示圆弧的开始和结束(可省略参数,但逗号不能省略,例 Circle(1000,1000),500,2);p 参数指定了椭圆水平长度和垂直长度比。另外,Circle 方
15、法还可以画出圆弧(圆的一部分)和楔形饼块。 本题原程序要通过窗体的 Activate 事件过程在圆上产生 1 两个刻度点,其中 For 循环的步长值应设置为:36012=30。由于 VB 窗体的坐标原点位于窗体最左上角,因此每个刻度点距圆心的横向距离(radius*Cos( k*314159180)需加上圆心的 x 坐标值(x0),才是该刻度点的 x 坐标值。而该刻度点的 y 坐标值则应是圆心的 y 坐标值(y0)减去刻度点距圆心的纵向距离(radius*Sin(k*3141591801)。 计时器 Timerl 的 Timer 事件每隔 05 秒触发一次,在 Timer 事件过程中,长指针
16、Linel 的终点(X2,Y2)顺时针每次转动一个刻度,其坐标值通过计算得出(其中,Lenl 为长指针的长度;a 为长指针与圆心所在水平线形成的夹角度数,初值为 90,每次减少 30),故该事件过程中第一个?处应改为:Y2。短指针 Line2 的终点每次顺时针每次转动 11 两个刻度,其坐标值通过计算得出(其中,Len2 为短指针的长度,b 为短指针与圆心所在水平线形成的夹角度数,初值为 90,每次减少3012),故该事件过程中第两个?处应改为:b。 “开始”按钮用于启动计时器,而“停止”按钮则用于停止计时器,语句为:TimerlEnabled=False。三、综合应用题(总题数:2,分数:4
17、.00)5.综合应用题()(分数:2.00)_解析:6.在考生文件夹下有一个工程文件 sjt5vbp,其窗体中有一个实心圆。程序运行时,当用鼠标左键单击窗体任何位置时,实心圆则向单击位置直线移动:若用鼠标右键单击窗体,则实心圆停止移动。窗体文件中已经给出了全部控件,但程序不完整。要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。(分数:2.00)_正确答案:(正确答案: 【操作步骤】 步骤 l:打开考生文件下的本题工程文件 sjt5vbp,在代码编辑窗口,去掉程序中的注释符们“”,将问号“?”改为正确的内
18、容。 参考代码; stepx=0 stepy=a*stepx TimerlEnabled=True TimerlEnabled=False ShapeMove ShapelLeft+stepx, ShapelTop+stepy 步骤 2:按要求将文件保存至考生文件夹中。)解析:解析: Sgn(N)符号函数用于返回一个表示 N 的正、负或 O 的值。N0,返回 l;N=0,返回0;N0,返回-1。 本题在窗体的鼠标按下事件过程中,若按下的是鼠标左键,则通过计算得出圆心的坐标。若圆心与当前鼠标按下点位于同一竖线上时(即 x=x0),则设定实心圆纵向移动增量为 stepy=Sgn(y-yO)*50,
19、横向移动增量则为 O(即 stepx=0);否则设定实心圆横向移动增量为 stepx=Sgnt(x-xo)*50,并根据斜率 a 计算出纵向移动增量:stepy,=a*stepx,若计算出的纵向移动增量 step),绝对值大于横向移动增量绝对值 stepx,则重新设定实心圆纵向移动增量为 stepy=sgn(y-y0)*50,计算出横向移动增量stepx=stepya,以防止实心圆移动速度不均。启动计时器 Timerl(设置其 Enabled 属性值为 True),利用其 Timer 事件过程控制实心圆移动。 根据计算出的实心圆横向移动增量和纵向移动增量,其移动的语句为:ShapelMove ShapelLeft+stepx,ShapelTop+stepy