1、国家二级(VB)机试-试卷 10 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下面叙述中错误的是(分数:2.00)A.由于窗体不能获得焦点,所以窗体没有键盘事件B.框架控件没有键盘事件C.标签控件没有键盘事件D.文本框有键盘事件,但当 Enabled 属性被设置为 False 时,其键盘事件无法被激活2.设窗体上有一个 Text1 文本框和一个 HScroll1 水平滚动条,并有下面的事件过程: Private Sub HScroll1_Change() Text1 = HScroll1 End Sub 在程序运行时,当把滚动框移动到最左
2、边时,文本框中显示的是 100;当把滚动框移动到最右边时,文本框中显示的是 1。根据这些信息,下面的判断中错误的是(分数:2.00)A.滚动条的 Max 和 Min 属性的值分别是 1 和 100B.滚动条的 Max 和 Min 属性的值分别是 100 和 1C.文本框中显示的是滚动条 Value 属性的值D.如果把滚动框移动到中间位置,文本框中将显示 503.设窗体上有 1 个名称为 List1 的列表框,程序运行时,如果选中了第 3 个列表项(最上面的列表项为第0 个列表项),则下面不成立的是(分数:2.00)A.List1.Selected(List1.ListIndex)的值为 Tru
3、eB.List1.Selected(3)的值为 TrueC.List1.List(3)的值为 TrueD.List1.ListIndex 的值为 34.利用通用对话框控件打开字体对话框的操作是(分数:2.00)A.把通用对话框控件的 Action 属性设置为 4B.把通用对话框控件的 Action 属性设置为 5C.调用通用对话框控件的 OpenFont 方法D.调用通用对话框控件的 ShowText 方法5.为了显示弹出式菜单,要使用(分数:2.00)A.窗体的 PopupMenu 方法B.窗体的 OpenMenu 方法C.菜单的 PopupMenu 方法D.菜单的 OpenMenu 方法6
4、.为了实现对象的自动拖放,应该设置该对象的一个属性。下面设置中正确的是(分数:2.00)A.DragMode=1B.DragMode=0C.DragIcon=1D.DragIcon=07.设工程中有 2 个窗体:Form1 和 Form2,每个窗体上都有一个名称为 Text1 的文本框。若希望把 Form1上文本框中的内容复制到 Form2 上的文本框中,应进行的操作是(分数:2.00)A.执行 Form1 中的语句:Form1.Text1 = Form2.Text1B.执行 Form1 中的语句:Text1 = Form1.TextC.执行 Form2 中的语句:Form1.Text1 =
5、Text1D.执行 Form2 中的语句:Text1 = Form1.Text18.设窗体上有一个 Picture1 图片框,要求在图片框中的指定位置(坐标为(500,300)输出“OK“,下面可以实现这一功能的事件过程是(分数:2.00)A.Private Sub Form_Click() Picture1.CurrentX = 500 Picture1.CurrentY = 300 Picture1.Print “OK“ End SubB.Private Sub Form_Click() Picture1.Left = 500 Picture1.Top = 300 Picture1.Pri
6、nt “OK“ End SubC.Private Sub Form_Click() Picture1.CurrentX = 500 Picture1.CurrentY = 300 Print “OK“ End SubD.Private Sub Form_Click() Picture1.Left = 500 Picture1.Top = 300 Print “OK“ End Sub9.下面有 3 个程序段可以正确判断,另一个不能正确判断的是(分数:2.00)A.If a + b c And a + c b And b + c a Then Print “可以构成一个三角形“ Else Prin
7、t “不能构成三角形“ End IfB.If a + b c Or a + c b Or b + c a Then Print “可以构成一个三角形“ Else Print “不能构成三角形“ End IfC.If a + b 10 Print i = i + 2 Loop End Sub 程序运行时输出字符“*“的个数是(分数:2.00)A.50B.20C.16D.1511.下面程序的功能是输出 100 以内所有素数:Private Sub Command1_Click() For n = 2 To 100 isprime = True k = 2 Do While k m Then n =
8、 m m = a(k) ElseIf a(k) n And a(k) ch Then strbuf = strbuf Next kEnd Sub 程序运行时的输出是(分数:2.00)A.27 24 41 64 98 58B.64 24 98 27 58 41C.24 27 41 58 64 98D.98 64 58 41 27 2415.设有 VB 函数:Private Function f(x As Single) As Single 可以返回 f(x)的值(函数体没有给出)。下面程序的功能是从键盘输入 2 个实数 x1、x2,判断在 x1、x2 之间是否存在零点。Private Sub C
9、ommand1_Click() Dim x1 As Single, x2 As Single x1 = InputBox(“请输入一个实数 x1“) x2 = InputBox(“请再输入一个实数 x2“) If ( _ ) Then Print “在“; x1; “与“; x2; “之间存在零点“ Else Print “不能确定在“; x1; “与“; x2; “之间是否存在零点“ End IfEnd SubPrivate Function f(x As Single) As Single End Function 为使上面程序可以实现该功能,程序代码中横线处应填写的代码是(分数:2.00
10、)A.f(x1) 0 Or f(x2) 016.设窗体上有 3 个图像框:Image1、Image2、Image3,并有下面的程序代码:Private Sub Form_Load() Image1.Picture = LoadPicture(“LEAF.bmp“) Image2.Picture = LoadPicture(“OPEN.bmp“) Image3.Visible = FalseEnd SubPrivate Sub Image1_Click() Image2.Picture = Image1.PictureEnd SubPrivate Sub Image2_Click() Image
11、3.Picture = Image2.Picture Image2.Picture = Image1.Picture Image1.Picture = Image3.PictureEnd Sub 在程序运行期间单击 Image2,则在窗体上看到的结果是(分数:2.00)A.在 Image3 中显示 Image2 中的图片B.Image1、Image2 中原有图片被交换了C.Image1、Image2 中都是原来 Imege1 中的图片D.Image1、Image2 中都是原来 Imege2 中的图片17.设窗体上有一个名称为 List1 的列表框和一个名称为 Check1 的复选框数组(下标从
12、 0 开始)。程序运行时,单击某个复选框,如果列表框中没有该复选框的标题,则把该复选框的标题添加到列表框中,否则从列表框中把该复选框标题删除。Private Sub Check1_Click(Index As Integer) For k = 0 To List1.ListCount - 1 If Check1(Index).Caption = List1.List(k) Then Exit For End If Next k If k = r Then flag = 0 End If End If End Sub 运行程序后产生的结果是(分数:2.00)A.圆逐渐缩小,再逐渐增大,然后再逐渐
13、缩小,依此往复B.圆一直在缩小C.圆每隔 0.5 秒向右移动一次D.圆每隔 1 秒向下移动一次19.下列叙述中正确的是(分数:2.00)A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上说法均错误20.下列与队列结构有关联的是(分数:2.00)A.函数的递归调用B.数组元素的引用C.多重循环的执行D.先到先服务的作业调度21.一个栈的初始状态为空。现将元素 1,2,3,A,B,C 依次入栈,然后再依次出栈,则元素出栈的顺序是(分数:2.00)A.1,2,3,A,B,CB.C,B,A,1,2,3C.C,B,A,3,2
14、,1D.1,2,3,C,B,A22.下面属于白盒测试方法的是(分数:2.00)A.等价类划分法B.逻辑覆盖C.边界值分析法D.错误推测法23.下面对对象概念描述正确的是(分数:2.00)A.对象间的通信靠消息传递B.对象是名字和方法的封装体C.任何对象必须有继承性D.对象的多态性是指一个对象有多个操作24.软件设计中模块划分应遵循的准则是(分数:2.00)A.低内聚低耦合B.高耦合高内聚C.高内聚低耦合D.以上说法均错误25.下面描述中不属于数据库系统特点的是(分数:2.00)A.数据共享B.数据完整性C.数据冗余度高D.数据独立性高26.数据库设计过程不包括(分数:2.00)A.概念设计B.
15、逻辑设计C.物理设计D.算法设计27.下面为单精度实型(即单精度浮点型)变量的是(分数:2.00)A.x$B.x Next kEnd Sub 程序运行时的输出是(分数:2.00)A.27 24 41 64 98 58 B.64 24 98 27 58 41C.24 27 41 58 64 98D.98 64 58 41 27 24解析:解析:第一个 For 循环对 x 数组元素赋初值。被赋的值根据下标,从 b 数组中获取。而 x 的下标从数组 a 中的元素获得。注意 Option Base 1 的影响,下标从 1 开始。因此 x 数组中的值实际上是按照 a 数组中值进行了一个重新排序。即 x(
16、1)是数组 b 中第 4 个元素的值:27,其它值以此类推。选 A)。 由高中数学可知,对于连续函数 f(x),若 f(x1)与 f(x2)值的符号相反,则在 x1 和 x2 之间必存在 x0,使得f(x0)=0(该点称为“零点“)。15.设有 VB 函数:Private Function f(x As Single) As Single 可以返回 f(x)的值(函数体没有给出)。下面程序的功能是从键盘输入 2 个实数 x1、x2,判断在 x1、x2 之间是否存在零点。Private Sub Command1_Click() Dim x1 As Single, x2 As Single x1
17、= InputBox(“请输入一个实数 x1“) x2 = InputBox(“请再输入一个实数 x2“) If ( _ ) Then Print “在“; x1; “与“; x2; “之间存在零点“ Else Print “不能确定在“; x1; “与“; x2; “之间是否存在零点“ End IfEnd SubPrivate Function f(x As Single) As Single End Function 为使上面程序可以实现该功能,程序代码中横线处应填写的代码是(分数:2.00)A.f(x1) 0 Or f(x2) 0解析:解析:判断 x1 和 x2 之间是否存在零点的条件是
18、 x1 和 x2 符号相反。即 x1 和 x2 的积是负数。函数f 可以返回 f(x)的值,因此满足上述条件的表达式是 f(x1) * f(x2) = r Then flag = 0 End If End If End Sub 运行程序后产生的结果是(分数:2.00)A.圆逐渐缩小,再逐渐增大,然后再逐渐缩小,依此往复 B.圆一直在缩小C.圆每隔 0.5 秒向右移动一次D.圆每隔 1 秒向下移动一次解析:解析:Form_Load 过程中设定 timer 事件定时触发;在 Timer1_Timer 过程中,圆圈先变小后变大,然后退出。下一次 timer 事件触发时继续这个过程。因此,选 A)。1
19、9.下列叙述中正确的是(分数:2.00)A.程序执行的效率与数据的存储结构密切相关 B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上说法均错误解析:解析:程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。20.下列与队列结构有关联的是(分数:2.00)A.函数的递归调用B.数组元素的引用C.多重循环的执行D.先到先服务的作业调度 解析:解析:队列的修改是依先进先出的原则进行的,D 正确。21.一个栈的初始状态为空。现将元素 1,2,3,A,B,C 依次入栈,然后再依次出栈,则元素出栈的顺序是(分数:2.00)A.1,2
20、,3,A,B,CB.C,B,A,1,2,3C.C,B,A,3,2,1 D.1,2,3,C,B,A解析:解析:栈的修改是按后进先出的原则进行的,所以顺序应与入栈顺序相反,故选 C。22.下面属于白盒测试方法的是(分数:2.00)A.等价类划分法B.逻辑覆盖 C.边界值分析法D.错误推测法解析:解析:白盒测试法主要有逻辑覆盖、基本路径测试等。逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断-条件覆盖,选择 B。其余为黑盒测试法。23.下面对对象概念描述正确的是(分数:2.00)A.对象间的通信靠消息传递 B.对象是名字和方法的封装体C.任何对象必须有继承性D.对象的多态性是指一个对象有
21、多个操作解析:解析:对象之间进行通信的构造叫做消息,A 正确。多态性是指同一个操作可以是不同对象的行为,D 错误。对象不一定必须有继承性,C 错误。封装性是指从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构以及实现操作,B 错误。24.软件设计中模块划分应遵循的准则是(分数:2.00)A.低内聚低耦合B.高耦合高内聚C.高内聚低耦合 D.以上说法均错误解析:解析:根据软件设计原理提出如下优化准则: 划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,并以此原则优化初始的软件结构。 一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。 软
22、件结构的深度、宽度、扇入、扇出应适当。 模块的大小要适中。C 正确。25.下面描述中不属于数据库系统特点的是(分数:2.00)A.数据共享B.数据完整性C.数据冗余度高 D.数据独立性高解析:解析:数据库系统的特点为高共享、低冗余、独立性高、具有完整性等,C 错误。26.数据库设计过程不包括(分数:2.00)A.概念设计B.逻辑设计C.物理设计D.算法设计 解析:解析:数据库设计过程主要包括需求分析、概念结构设计、逻辑结构分析、数据库物理设计、数据库实施、数据库运行和维护阶段。答案为 D 选项。27.下面为单精度实型(即单精度浮点型)变量的是(分数:2.00)A.x$B.x&C.x! D.x#
23、解析:解析:$:字符串型, &:长整型,!:单精度实型,#:双精度实型。28.语句: Print Int(Rnd * 5 + 20) 的输出不可能是(分数:2.00)A.20B.22C.24D.25 解析:解析:本题考查 Rnd 随机函数和 Int 取整函数,首先 Rnd 随机函数的范围为0,1),Int 函数的作用是返回不大于自变量的最大整数,所以当 Rnd * 5 后变为0,5),再加上 20 变为20,25),经取整后变为20,24,所以本题的正确答案是选项 D。29.设变量 x 的值是 845,则下面语句的输出是 Print x / 100 + (x Mod 100) / 10 + x
24、 Mod 10(分数:2.00)A.17 B.548C.845D.485解析:解析:整除运算(/)的结果是商的整数部分。例如,7/2 表示整除,商为 4.5,结果取整数部分 3,不进行四舍五入。如果参加整除的操作数是浮点数,则先按四舍五入的原则将它们变成整数,然后再执行整除运算。例如,对于 8.5/2,先将 8.5 变成 9 再进行整除,商为 4.5,结果为 4。 取余运算(Mod)是求两个整数相除后的余数。如果参加取余运算的操作数是浮点数,则先按四舍五入的原则将它们变成整数,然后再执行取余运算。例如,对于 8.5/2.1,先将 8.5 变成 9,2.1 变成 2,然后 9 除以 2 与 1,
25、因此取余结果为1。 算术运算符的优先级:先乘除,后加减;乘方优先于乘除;函数优先于乘方;Mod 次于乘除而优先于加减;括号最优先。 本题中,x / 100 结果为 8,(x Mod 100) / 10 结果为 4,x Mod 10 结果为 5,所以输出为 17,选项 A)正确。30.有下面的程序段: x = InputBox(“字符串“, “输入“, “请输入“) Print x 如果执行上面程序段时没有从键盘输入任何内容就直接按了回车键,则输出内容是(分数:2.00)A.字符串B.输入C.请输入 D.空白(即未输出任何内容)解析:解析:在题目已给语句中,InputBox 函数使用了 3 个参
26、数:第一个参数“字符串“用于显示信息;第二个参数“输入“用来显示对话框的标题;第三个参数“请输入“是默认输入值,在输入区显示出来。选项C)正确。31.在下面语句或函数中,不能描述选择结构的是(分数:2.00)A.If 语句B.IIf 函数C.Select Case 语句D.While 语句 解析:解析:While 语句不能描述选择结构。32.如果要在语句:a = Array(1, 2, 3, 4, 5) 的前面声明变量 a,则正确的声明是(分数:2.00)A.Dim a(4) As IntegerB.Dim a(5) As VariantC.Dim a(1 To 5) As IntegerD.
27、Dim a As Variant 解析:解析:Array 函数只能给变体类型变量数组初始化,所以选项 D 正确。33.在 VB 中,函数过程与子程序过程的区别之一是(分数:2.00)A.函数过程必须有参数,而子程序过程可以没有B.函数过程的参数传递只采用值传递,而子程序过程只采用地址传递C.在程序中,子程序过程调用的代码可以写在表达式中,而函数过程不能D.函数过程有返回值,而子程序过程没有 解析:解析:在 Visual Basic 中有两类过程:一类是系统提供的内部函数和事件过程;另一类是用户根据自己的需要定义的,供事件过程的多次调用。在第二类过程中,涉及最多的是子过程。它们的共同点是完成某种
28、特定功能的一组程序代码;不同的是函数是可以直接返回值的特殊过程,所以函数过程定义时有返回值的类型说明。 两者最大的区别就是 Sub 过程的过程不能直接返回值,而 Function 过程能直接返回值。34.设有以下定义语句: Private Type point x As Integer y As Integer End Type Dim a As point下面语句中正确的是(分数:2.00)A.a = 12B.a.x = 12 C.point = 12D.point.x = 12解析:解析:用户可以利用 Type 语句定义自己的数据类型,其格式如下: Type 自定义类型名 元素名(下标)
29、As 类型名 元素名(下标) As 类型名 End Type 要表示某个自定义数据类型的变量中某个元素时,形式如下:变量名.元素名。所以选项 B)是正确的。35.VB 应用程序不能把一个二维表格中的数据存入文件(分数:2.00)A.VB 数据文件不包括 VB 的窗体文件B.VB 应用程序可以用随机方式读写数据文件C.VB 应用程序在读写数据文件之前,必须用 Open 语句打开该文件D.VB 应用程序不能把一个二维表格中的数据存入文件 解析:解析:VB 应用程序可以把一个二维表格中的数据存入文件。36.为使文本框具有初始值“VB“,在设计阶段正确的操作是(分数:2.00)A.选中该文本框,在属性
30、窗口中把 Text 属性的值改为“VB“ B.选中该文本框,在属性窗口中把 Caption 属性的值改为“VB“C.双击该文本框,在弹出的窗口中输入“VB“D.单击该文本框,在该文本框中直接输入“VB“解析:解析:根据题意,选中该文本框,在属性窗口中把 Text 属性的值改为“VB“。37.下列控件中,不响应 Click 事件的是(分数:2.00)A.框架B.标签C.图像框D.形状 解析:解析:形状控件不响应 Click 事件。38.下面关于命令按钮的叙述中错误的是(分数:2.00)A.命令按钮上可以显示图片B.命令按钮上的文字就是其 Caption 属性的值C.在程序运行过程中,不能改变命令
31、按钮的标题 D.运行程序时,当命令按钮获得焦点后,按下回车键也能激活它的 Click 事件解析:解析:在程序运行过程中,可以改变命令按钮的标题。39.设窗体上有一个名称为 Check1 的复选框,并有下面程序代码: Private Sub Check1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Check1.Value = 1 End Sub 根据上面的事件过程,可以得出结论(分数:2.00)A.鼠标单击该复选框,复选框的标题被改为“1“B.鼠标右键单击该复选框,可以选中该复选框 C.鼠标左
32、键单击该复选框,它被选中,右键单击它,取消选中D.鼠标右键单击该复选框,它被选中,左键单击它,取消选中解析:解析:在鼠标单击事件过程中,Button 属性值为 1 时代表按下鼠标左键,值为 2 时代表按下鼠标右键,单击鼠标左键或者右键都能触发 MouseDown 事件。Value 属性值决定每个复选框的选中状态:0 为未选、1 为选中、2 为不可用(以灰色呈现)。选 B)。40.设窗体上有 1 个名称为 HScroll1 的水平滚动条,其 Max、Min 属性分别设置为 100、1;有 2 个名称分别为 Option1、Option2 的单选按钮,其标题分别为“30“、“50“;还有下面程序代
33、码: Private Sub Option1_Click() HScroll1 = Val(Option1.Caption) End Sub Private Sub Option2_Click() HScroll1 = Val(Option2.Caption) End Sub 程序运行时,单击 Option2 单选按钮,则滚动条上滚动框的位置是(分数:2.00)A.在最左边B.在最右边C.在中间 D.在中间偏左的位置解析:解析:滚动条的 Value 属性用于设置滚动滑块所处的位置。Max 和 Min 属性分别设置滚动条的最大值和最小值,水平滚动条的最左端为 Min,最右端为 Max,Max 的
34、值减去 Min 的值得到当前滚动条的刻度个数。单击 Option2 单选按钮,滚动滑块的位置设置为 50,正好在整个滚动条的中间位置。因此,答案为 C)。二、基本操作题(总题数:1,分数:2.00)41.(1)在名称为 Forml 的窗体上添加一个名称为 Label1 标题为“列表框的使用”的标签。再添加一个名称为 List1 的列表框,列表中含有 5 个表项,其内容分别为“北京”、“山西”、“辽宁”、“浙江”和“广东”,并且可以在列表中同时选择多个表项。程序运行后的窗体如图所示。 要求:存盘时必须存放在考生文件夹下,工程文件名保存为 sjt1vbp,窗体文件名保存为 sjt1frm。 (2)
35、在名称为Form1 的窗体上添加一个名称为 Image1 的图像框,其高、宽分别为 2000、3000,且不随图片大小而变化;再添加两个命令按钮,标题分别是“显示图片”和“隐藏图片”,名称分别为 Cmd1、Cmd2,如图所示。需编写两个命令按钮的 Click 事件过程,使得当单击“显示图片”按钮时,当前文件夹下的图片文件“图片jpg”显示在图像框中;如果单击“隐藏图片”按钮,则清除图像框中的图片。 要求:程序中不得使用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名保存为sjt2vbp,窗体文件名保存为 sjt2frm。 (分数:2.00)_正确答案:(正确答案:(
36、1)【操作步骤】 步骤 1:建立界面,并设置控件的属性。程序中用到的控件及属性见表 3.136。 步骤 2:调试并运行程序,关闭程序后按题目要求存盘。 (2)【操作步骤】 步骤1:建立界面,并设置控件的属性。程序中用到的控件及属性见表 3.137。 )解析:三、简单应用题(总题数:1,分数:2.00)42.(1)在考生文件夹下有一个工程文件 sjt3vbp,请在窗体上建立一个菜单,主菜单项为“项目”(名称为 Item),它有两个名称分别为 Add 和 Delete 的子菜单项,标题分别为“添加项目”和“删除项目”,然后添加一个列表框(名称为 List1)和一个文本框(名称为 Text1),如图
37、 1 所示。编写适当的事件过程。程序运行后,如果执行“添加项目”命令,则从键盘上输入要添加到列表框中的项目(内容任意,不少于三个);如果执行“删除项目”命令,则从键盘上输入要删除的项目内容,将其从列表框中删除。程序的运行情况如图 2 所示。 在考生文件夹下的工程文件 sjt3vbp(相应的窗体文件名为 sjt3frm),可以实现上述功能。但这个程序不完整,请把它补充完整。 要求:去掉程序中的注释符,把程序中的?改为适当的内容,使其正确运行,但不能修改程序中的其他部分。最后将修改后的文件按原文件名存盘。 (2)在考生文件夹下有一个工程文件 sjt4vbp(相应的窗体文件名为 sjt4frm),其
38、功能是通过调用过程 Sort将数组按升序排序。程序运行后,在 4 个文本框中输入一组整数(如图 1 所示),然后单击命令按钮,即可使数组从小到大排序,并显示在文本框中(如图 2 所示)。这个程序不完整,请把它补充完整,并能正确运行。 要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后将修改后的文件按原文件名存盘。 (分数:2.00)_正确答案:(正确答案:(1)【操作步骤】 步骤 1:打开本题工程文件,添加一个名称为 List1 列表框和一个名称为 Text1 文本框,然后建立一个菜单,其属性见表 3.101。 *343 步骤 2:分析并编
39、写程序代码。 程序提供代码 Private Sub Add_Click() Text1.Text = InputBox(“请输入要添加的项目“) List1.AddItem ? End Sub Private Sub Delete_Click() Text1.Text = InputBox(“请输入要删除的项目“) For i = 0 To ? If List1.List(i) = ? Then List1.RemoveItem ? End If Next i End Sub 程序结束 参考答案 第 1 个?处填入:Text1.Text 第 2 个?处填入:List1.ListCount -
40、1 第 3 个?处填入:Text1.Text 第 4 个?处填入:i 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 (2)【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:分析并编写程序代码。 程序提供代码 Option Base 1 Private Sub Sort(a() As Integer) Dim Start As Integer, Finish As Integer Dim i As Integer, j As Integer, t As Integer Start = ?(a) Finish = ?(a) For i = ? To 2 Step -1 For j =
41、1 To ? If a(j) ? a(j + 1) Then t = a(j +1) a(j + 1) = a(j) a(j) = t End If Next j Next i End Sub Private Sub Command1_Click() Dim arr1 Dim arr2(4) As Integer arr1 = Array(Val(Text1.Text), Val(Text2.Text), Val(Text3.Text), Val(Text4.Text) For i = 1 To 4 arr2(i) = CInt(arr1(i) Next i Sort arr2() Text1
42、.Text = arr2(1) Text2.Text = arr2(2) Text3.Text = arr2(3) Text4.Text = arr2(4) End Sub 程序结束 参考答案 第 1 个?处填入:LBound 第 2 个?处填入:UBound 第 3 个?处填入:4 第 4 个?处填入:3 第 5 个?处填入: 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。)解析:四、综合应用题(总题数:1,分数:2.00)43.在考生文件夹下有一个工程文件 sjt5vbp,在其窗体中有一个实心圆。程序运行时,当用鼠标左键单击窗体任何空白位置时,实心圆则向单击位置直线移动;若用鼠标右键
43、单击窗体,则实心圆停止移动。窗体文件中已经给出了全部控件,但程序不完整。 要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,不能修改程序的其他部分和控件属性。最后将修改后的文件按原文件名存盘。(分数:2.00)_正确答案:(正确答案:【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:分析并编写程序代码。 程序提供代码 Dim stepy As Integer 纵向移动增量 Dim stepx As Integer 横向移动增量 Const LEFT BUTTON = 1 Private Sub Form_MouseDown(Button As Integer, Shi
44、ft As Integer, x As Single, y As Single) Dim x0 As Integer, y0 As Integer, a As Single, radius As Integer radius = Shape1.Width / 2 圆的半径 If Button = LEFT BUTTON Then x0 = Shape1.Left + radius 圆心的 x坐标 y0 = Shape1.Top + radius 圆心的 y 坐标 If x = x0 Then stepy = Sgn(y - y0) * 50 stepx = ? Else a = (y - y0
45、) / (x - x0) 斜率 stepx = Sgn(x - x0) * 50 ? = a * stepx If Abs(stepy) Abs(stepx) Then stepy = Sgn(y - y0) * 50 stepx = stepy / a End If End If ? = True Else ? = False End If End Sub Private Sub Timer1_Timer() Shape1.Move Shape1.Left + stepx, Shape1.Top + ? End Sub 程序结束 参考答案 第 1 个?处填入:0 第 2 个?处填入:stepy 第 3 个?处填入:Timer1.Enabled 第 4 个?处填入:Timer1.Enabled 第 5 个?处填入:stepy 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。)解析: