1、VB机试模拟试卷 91及答案与解析 一、基本操作题( 30分) 1 (1)在名称为 Forml的窗体上绘制一个垂直滚动条,其名称为 VScrolll,然后通过属性窗口设置窗体和滚动条的属性,实现如下功能: 滚动条所能表示的最小值和最大值分别为 100和 400,滚动块的初始位置为 200。程序运行后,单击滚动块前面或后面的部位时,滚动块移动的增量值为 25,单击滚动条两端的箭头时,滚动块移动的增量值为 10。程序的运行情况如图 341所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjl vbp,窗体文件名为 sjl frm。 (2)在名称为Forml的窗体上绘制一个文本框,其名称为
2、 Textl如图 342所示,编写适当的事件过程。程序运行后,如果单击文本框,则可使文本框左移 100单位;而如果在文本框中输入信息,则可使文本框右移 100单位。不得使用任何变量;只允许通过修改属性的方式移动文本框。程序的运行情况如图 343所示。注意:存盘时必须存放在考生文件夹下,工程文件名为 sj2 vbp,窗体文件名为sj2 frm 二、简单应用题( 40分) 2 (1)在名称为 Forml、标题为 “调用系统对话框 ”的窗体上有一个文 本框和四个命令按钮及一个通用对话框,通过 CommonDialog实现对系统一些对话框的调用。请将“打开 ”按钮的功能补充完整,并限制打开的类型为文本
3、文件和数据文件 (* txt和* dat),默认打开文件类型为 txt文件。打开 in txt文件如图 373所示。 注意:保存时必须存放在考生文件夹下,窗体文件名为 sj3 frm,工程文件名为sj3vbp。 (2)在考生文件夹下有工程文件 sj4 vbp及窗体文件 sj4 frm,该程序是不完整的。在窗体上有一个名为 Pic1的图片框,有一个名为 Commandl、标题为“输入半径 ”或 “输入边长 ”的命令按钮,有两个单选按钮,名称分别是 Optionl和Option2、标题分别是 “圆形 ”和 “正方形 ”。要求程序运行后,若选中 “圆形 ”,则按钮名称为 “输入半径 ”,若选中 “正
4、方形 ”,则按钮名称为 “输入边长 ”,再单击命令按钮“输入半径 ”或 “输入边长 ”,在弹出的输入对话框中输人相应的参数值,则在图片框上画出相应的图形,如图 374所示。注意:请在有“?”的地方填入正确内容,然后删除 “?”及所有注释符 (即 “”号 ),但不能修改其他部分。存盘时不得改变文件名和文件夹。 三、综合应用题( 30分) 3 在考生文件夹下有一个工程文件 sj5 vbp,功能是用来计算勾股定理整数组合的个数。勾股定理中 3个数的关系是: a2+b2=c2。例如, 3、 4、 5就是一个满足条件的整数组合 (注意: a, b, c分别为 4, 3, 5与分别为 3, 4, 5被视为
5、同一个组合,不应该重复计算 )。编写程序,统计均在 60以内的三个数满足上述关系的整数组合的个数,并显示在标签 Labell中。 注意:不得修改原有程序的控件的属性。在结束程序运行之前,必须至少正确运行一次程序,将统计的结果显示在标签中,否则无成绩。最后把修改后的文件按原文件名存 盘。 VB机试模拟试卷 91答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1)根据题意,新建 “标准 EXE”工程,将一个 VSrollBar控件添加到窗体中,设置其名称为 VScrolll, Max属性为 400, Min属性为 100, Value属性为200, LargeChange属性为 25,
6、 SmallChange属性为 10。单击 按钮运行程序并按要求保存。 (2)在文本框中输入信息,触发文本框的 Change事件,单击文本框触发文本框的 Click事件。根据题意,新建 “标准 EXE”工程,将一个文本框控件 添加到窗体中,其名称为 Textl, Text属性为空。双击 Text进入代码窗口,编写如下代码: Private Sub Textl_Change() Textl Left=Textl Left+100在文本框输入,文本框右移 End Sub Private Sub Textl_Click() Textl Left=Textl Left-100 单击文本框,文本框左移
7、End Sub 单击 按钮运行程序,并按要求保存。 二、简单应用题( 40分) 2 【正确答案】 (1)通用对话框是一种 ActiveX控件 ,通常情况下,启动 Visual Basic后,在工具箱里没有通用对话框控件,用户必须手动将它添加到工具箱里才可以使用。选择 “工程 ”一 “部件 ”命令,打开 “部件 ”对话框,并将 Microsoft Common Dialog Control6 0前的复选按钮选中,单击 “确定 ”按钮将其添加到工具箱中,然后再像其他控件一样使用。 本题补充后的具体代码如下: Private Sub Commandl Click() Dim tmp As Strin
8、g Dim str As String str=“ Commondialogl DialogTitle=“打开 “ Commondialogl InitDir=“ “ Commondialogl Filter=“Text Files(*:txt*)|* txt | Data Files(* dat)|* dat“ Commondialogl FileName=“ Commondialogl ShowOpen If Commondialogl FileName“Then Open Commondialogl FileName For Input As#1 While EOF(1)=False I
9、nput#1, tmp str=str+tmp Wend End If Close#1 Textl Text=str End Sub Private Sub Command2_Click() Dim i As Integer Commondialogl CancelError=True On Error GoTo Cancel Commondialogl Action=5 For i=1 To Commondialogl.Copies PrintForm Next i Cancel: End Sub Private Sub Command3_Click() Commondialogl Flag
10、s=&H3&Or&H1&Or&H2& Commondialogl CancelError=True On Error GoTo Cancel Commondialog 1 Action=4 Textl FontBold=Commondialogl FontBold Text 1 FontItalic=Commondialog1 FontItalic Textl FontStrikethru=Commondialogl FontStrikethru Textl FontName=Commondialogl FontName Text 1 FontSize=Commondialogl FontSi
11、ze Cancel: End Sub Private Sub Command4_Click() Unload Me End Sub 单击 按钮运行程序,并按要求保存。 (2)本题主要考查 circle方法、 Line方法和 InputB。 x函数的使用。 cirele方法在对象上画圆、椭圆或弧。其语法为: ob ject CircleStep(x, y), radius,Color,start, end,aspect.Line方法在对象上画直线和矩形。其语法为: objec.LineStep (x1,1)Step(x2, y2), color, BF。 InputBox函数在一个对话框中显示提
12、示,等待用户输入正文或按下按钮,并返回包含文本框内容的 String。其语法为:InputBox(prompt, title3, default, xpos, ypos, helpfile, conText)。 根据题意,补充后的具体代码如下: Private Sub Commandl_Click() Dim a As Integer Const rPI As Single=3 14159265358979圆周率 If Optionl Value=True Then a=InputBox(“输入半径 “)是圆形 Picl Cls清屏 Picl Circle(940, 550), a, 0, 3
13、60 180*rPI 画圆函数:原点、半径、 颜色 、 起始角度 、 结束角度 Else a=InputBox(“输入边长 “) 是正方形 Picl Cls Picl Line(100, 100)-(100 4-a, 100) 两点间画线 Picl Line(100, 100)-(100, 1004-a) 两点间画线 Picl Line(100, 100+a)-(1004-a,1004-a) 两点间画线 Picl Line(1004-a, 100)-(1004-a, 1004-a) 两点间画线 Picl Line-(100+-a4-1, 100+a+1) End If End Sub Priv
14、ate Sub Optionl_Click() 选中圆形 Commandl Caption=“输入半径 “ End Sub Private Sub Option2_Click()选中正方形 Commandl Caption=“输入边长 “ End Sub 单击 按钮运行程序,并按要求保存。 三、综合应用题( 30分) 3 【正确答案】 本题主要考查嵌套循环、文件编辑以及 If判断语句。根据题意,编写如下代码: =考生编写程序开始 = Dim i As Integer Dim j As Integer Dim k As Integer For i=1 To 60 For i=1 To 60 For k=1 To 60 If i2=i2+k2 Then m=m+1 End If Next k Next i Next i Labell=m 2 =考生编写程序结束 = 单击 按钮运行程序,并按要求保存。