1、VB机试模拟试卷 154及答案与解析 一、基本操作题( 30分) 1 请根据以下各小题的要求设计 VisualBasic应用程序 (包括界面和代码 )。 (1)在名称为 Forml的窗体上建立一个二级下拉菜单 (菜单项见表 1-2),运行时的窗体如图 1-138所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1 vbp,窗体文件名为 sjt1 frm。(2)在名称为 Forml的窗体上画两个文本框,名称分别为Textl、 Text2,均无初始内容。要求: 通过属性窗口设置适当的属性,使Textl、 Text2中显 示的文本的字体为 “隶书 ”; 编写适当的事件过程,使得在 Te
2、xtl中输入每一个字符时,立即在 Text2中显示 Textl中的内容,如图 1-139所示。注意:要求程序中不得使用变量,事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjt2 vbp,窗体文件名为 sjt2 frm。二、简单应用题( 40分) 2 (1)在考生目录下有一个工程文件 sjt3 vbp。窗体上有个钟表图案,其中代表指针的直线的名称是 Line1,还有一个名称为 Labell的标签,和其他一些控件。如图1-28(a)所示: 在运行时,若用鼠标左键单击圆的边线,则指针指向鼠标单击的位置,如图 1-28(b)所示;若用鼠标右键单击圆的边线,则指针恢复到起始位置
3、,如图 1-28(a)所示:若鼠标左键或右键单击其他位置,则在标签上显示 “鼠标位置不对 ”。文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的 ?改为正确的内容。程序中的 oncircle函数的作用是判断鼠标单击的位置是否在圆的边线上 (判断结果略有误差 ),是则返回 True,否则返回 False。符号常量 x0、 y0是圆心距窗体左上角的距离;符号常量 radius是 圆的半径。注意:不能修改程序中的其他部分和各控件的属性。最后把修改后的文件按原文件名存盘。 (2)在考生目录下有一个工程文件sjt4 vbp,窗体如图 1-29所示。其功能是单击 “输入数据 ”
4、按钮,则可输入一个整数 n(要求: 8n12);单击 “计算 ”按钮,则计算 l!+2!十 3!+n! ,并将计算结果显示在文本框中;单击 “存盘 ”按钮,则把文本框中的结果保存到考生目录下的out4 dat文件中。文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的 ?改为正确的内容,并编写 “计算 ”按钮的 Click事件过程。注意:不得修改已经存在的内容和控件属性,在结束程序运行之前,必须用“存盘 ”按钮存储计算结果,否则无成绩。最后把修改后的文件按原文件名存盘。三、综合应用题( 30分) 3 在考生文件夹下有一个工程文件 sjt5 vbp,请先装入该工程文件,
5、然后完成以下操作:在名称为 Forml的窗体上画三个命令按钮,其名称分别为 C1、 C2和 C3,标题分别为 “读入数据 ”、 “计算 ”和 “存盘 ”(如图 1-129所示 )。程序运行后,如果单击 “读入数据 ”按钮,则调用题目已提供的 ReadDatal和: ReadData2过程读入datainl txt和 datain2 txt文件中的各 20个整数,分别放入 Arrl和 Arr2两个数组中;如果单击 “计算 ”按钮,则把两个数组中对应下标的元素除以 10并截尾取整后相乘,其结果放入第三个数组中 (即把第一个数组的第,个元素除以 10截尾取整,再把第二个数组的第 n个元素除以 10截
6、尾取整,两者相乘后的结果作为第三个数组的第 n个元素。这里的 n为 1, 2, , 20),最后计算第三个数组各元素之和,并把所求得的和在窗体上显示出来;如果单击 “存盘 ”按钮,则调用题目中给出的 WriteData过程将所求得的 和存入考生文件夹的 dataout txt文件中。注意:考生不得修改窗体文件中已经存在的程序,必须把求得的结果单击 “存盘 ”按钮存入考生文件夹下的 dataout txt文件中,否则没有成绩。最后把修改后的文件以原来的文件名存盘。 VB机试模拟试卷 154答案与解析 一、基本操作题( 30分) 1 【正确答案】 第 1小题 【操作步骤】 步骤 l:新建一个 “标
7、准 EXE”工程,打开VB菜单设计器设计菜单,各菜单项及属性设置如表 2-77所示。步骤 2:按要求将文件保存至考生文件夹中。 第 2小题 【操作步骤】 步骤 l: 新建一个 “标准 EXE”工程。在窗体 Forml中画两个文本框,并分别设置它们的相关属性,其属性及值如表 2-78所示。 步骤 2:打开代码编辑窗口。编写 Textl的 Change事件过程。 参考代码: PrVate Sub Textl_Change() Text2 Text=Textl Text End Sub 步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 第 1小题 VB中的菜单是通过菜单编辑器来设计的。菜单编
8、辑器中的基本设置项有: “标题 ”项,对应出现在菜单中的显示内容; “名称 ”项,系统识 别菜单项的唯一关键字(不能重复 ); “索引 ”项,用于设置菜单数组中各元素的索引号; “快捷键 ”项,是一个下拉列表框,用于设置菜单项的快捷键; “帮助上下文 ”项,设置当鼠标移动到某菜单项上按 键时显示的帮助信息在帮助文件中的对应位置; Visible(可见 )项,用于设置控件或菜单项在程序运行时是否可见,值为。 True表示可见,值为False表示不可见; Enabled(有效 )项,用于设置控件或菜单项在程序运行时是否有效,值为 True时表示有效,值为 False时表示无效 (显示为灰色 )。通
9、过编辑按钮区的 7个按钮可对菜 单进行添加、插入、删除、提升 (设置为上一级菜单 )、缩进(设置为下一级菜单 )、上移、下移等操作。 本题只需按照要求设计菜单即可。 第 2小题 文本框通常用于接收用户输入的字符串数据或用于显示输出信息,其 Text属性用于设置或返回文本框中显示的文本,当文本框中文本内容改变时触发其 Change事件。 本题考查考生对文本框控件常用属性和事件的掌握。要使文本框在初始情况下就没有内容,需在设计时通过属性设置窗口将其 Text属性值设置为空白。要实现程序运行时,在 Textl中输入的任何字符,立即显示在 Text2中的功能,可在Textl的 Change事件过程中,
10、执行将 Textl中显示内容赋值给 Text2的语句。 二、简单应用题( 40分) 2 【正确答案】 第 l小题 【操作步骤】 步骤 1:打开本题工程文件 sjt3 vbp,在代码编辑窗口,去掉程序中的注释符“”,将问号 “?”改为 正确的内容。 参考代码: Linel Y2=Y Linel X2=Linel X1 Linel Y2=y0-750 Labell Caption=“鼠标位置不对 “ 步骤 2:按要求将文件保存至考生文件夹中。 第 2小题 【操作步骤】 步骤 1:打开考生文件中的本题工程文件 sjt4 vbp,在代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。
11、 参考代码: s=1 f=s 步骤 2:双击 “计算 ”按钮 ,编写该按钮的单击事件过程。 参考代码: PriVate Sub Command2_Click() Dim s As Long, k As Integer 考生应编写的程序 s=0 For k=1 To n s=s+f(k) Next Textl=s End Sub 步骤 3:按 键键运行程序,单击 “输入数据 ”按钮。通过输入框输入一个 812之间的整数,然后单击 “计算 ”按钮计算结果,最后单击 “存盘 ”按钮保存结果。 步骤 4:按要求将文件保存至考生文件夹中。 【试题解析】 第 l小题 鼠标事件分点击事件和状态事件:点击事件
12、有单击 (Click)和双击 (DbIClick),不区分左、右键;状态事件有按下 (MouseDown)、移动 (MouseMovc)和弹起(MouseUp),能够区分出鼠标的左键、右键和中间键。按下鼠标键事件过程的一般格式为: PriVate Sub Form_MouseDown(Sutton As Integer, Shift As Integer, X As Single, Y As Single) End Sub 其中各参数的含义: BuRon表示被按下的鼠标键,可以取三个值, l左键、 2为右键、 4为中间键: Shift表示 Shift键, Ctrl键和 Alt键的状态, Shi
13、R键为 l、Ctrl键为 2、 Aft键为 4; X、 Y表示鼠标光标的当前位置。 本题原程序在 Form MouseDown事件过程中,先通过调用函数 oncirclv(X, Y)以判断鼠标单击的位置是否在圆的边线上,若在边线上,则接着判断当前按下的是否为鼠标左键,若为左键,则将直 线 Linel的终点位置设置为当前鼠标单击的位置,故第一个 ?处应改为: Y;若当前按下的不是左键,则直线 Linel的终点位置设置为其原始位置,即 Linel X2=Linel Xl、 Linel Y2=y0-750。若鼠标单击的位置不在圆的边线上,则在标签上显示相关信息,故第 4个 ?处应改为:Labell
14、Caption。 第 2小题 本题原程序中,自定义函数 f的功能是进行 n!阶乘运算,它通过 For循环连续 n次将循环变量 k的值乘以累积变量 s(第一个 ?处 tmp初值应为 1)来实现,作为函数返回值第两个 ?处应 改为: s。 在 “计算 ”按钮的单击事件过程中,根据程序所要计算表达式的特点,原程序利用一个 For循环依次计算表达式中各项的值并将其累加入变量 s,计算表达式中各项的值通过调用自定义函数 f(k)来实现的,最终计算结果显示在文本框中。 三、综合应用题( 30分) 3 【正确答案】 【操作步骤】 步骤 1:打开考生文件中的本题工程文件sjt5 vbp,在窗体中如表 2-7l
15、画出控件,并设置其属性。步骤 2:在代码编辑窗口编写以下事件过程。 参考代码: Dim Sum As Integer Private Sub C1_Click() ReadData 1 ReadData2 End Sub Private Sub C2 Click() Dim Arr3(20)As Integer Sum=0 For i=1 To 20 Arr3(i) =Int(Arrl(i) 10) * Int(Arr2(i) 10) Sum=Sum+Art3(i) Next i Print“Sum=“j Sum End Sub Private Sub C3_Click() WriteData
16、“Dataout txt“, Sum End Sub 步骤3:按要求将文件保存至考生文件夹中。 步骤 4:按键运行程序,先单击 “读入数据 ”按钮,然后单击 “计算 ”按钮,最后单击 “存盘 ”按钮。 【试题解析】 本题原程序已提供用于读数的 ReadDaml、 ReadData2和用于写盘的 WriteData几个自定义过程,只需编写 “读入数据 ”、 “计算 ”和 “存盘 ”命令按钮的单击事件过程,并在事件过程中调用 ReadDatal、 ReadData2和 WdtcData自定义过程。 程序设计思路:在 “读入数据 ”按钮的 Click事件过程中,通过调用 ReadDataI和Read
17、Data2过程将数据从文件 datainl txt和 datain2 txt中读入到数组 Arrl和Art2(窗体变量 )中;在 “计算 ”按钮的 Click事件过程中,利用 For循环语句 (循环变量 i的初值为 l,终值为 20)依次将数组 Arrl和 Art2同下标的元素除以 10并截尾取整后相乘,其结果放入第三个数组中并累加到变量 Sum,循环结束后将 Sum的值显示在窗体上。在 “保存 ”按钮的 Click事件过程中,通过调用 WfiteData过程将Sum的值写入数据文件 dataout txt。 注意:调用 WnteData过程时需传递参数 dataout txt和 Sum,变量 Sum应声明为窗体变量。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1