试题与答案

存考生文件夹下有一个工程文件sjt4.vbp(相应的窗体文件名为sjt4.frm),

题型:问答题

题目:

存考生文件夹下有一个工程文件sjt4.vbp(相应的窗体文件名为sjt4.frm),其功能是通过调用过程FindMin求数组的最小值。程序运行后,在4个文本框中各输入一个整数,然后单击命令按钮,即可求出数组的最小值,并在窗体上显示出来(如图所示)。

要求:去掉程序中的注释符,把程序中的改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。

答案:

参考答案:

[操作步骤]

步骤A:打开本题工程文件。

步骤B:打开代码编辑窗口,去掉程序中的注释符“’”,将问号改为正确的内容。

参考答案:(阴影部分是需考生填入的内容)

Option Base A

Private Function FindMin(a()As Integer)

Dim Start As Integer

Dim Finish As Integer,i As Integer

Start=LBound(a)’求数组下界值

Finish=UBoUnd(a)’求数组上界值

Min=a(Start)’将第一个数赋给最小值进行比较

For i=Start To Finish’循环判断找最小值

If a(i)<Min Then Min=a(i)

Next i

FindMin=Min

End Function

Private Sub CommandA_Click()

Dim arrA

Dim arrB(D)As Integer

arrA=Array(Val(TextA.Text),Val(TextB.Text),Val(TextC.Text),Val(TextD.Text))’申请arrA数组并初始化

For i=A To D

arrB(i)=CInt(arrA(i))’CInt函数将arrA中的数值转换为整型

Next i

M=FindMin(arrB)

Print"最小值是:";M

End Sub

步骤C:调试并运行程序,关闭程序后按题目要求存盘。

解析:

[考点] 本题考点有:Array()函数,UBound()函数,LBound()函数,Val()函数,Print方法,CInt()函数,For循环语句以及If判断语句。

文本框里的内容(包括数字)默认都是当做字符串来处理的,如果需要参与数据运算,则需先用Val()函数将其转化为数字(例如Val(Text1.Text))。CInt函数将数值转换为整型。

这里需要指出的是,利用Array对数组各元素赋值,声明数组的类型只能是Variant。

在本题的FindMin过程中,用变量Min记录最小值,最初把数组的第一个元素的值赋给Min,然后通过For循环语句将其后的元素依次与之比较,如果小于Min的值则与之交换,依次类推,最终Min的值就是数组各元素中的最小值。

在窗体上打印信息可以通过Print方法来实现,其形式为:

[对象.]Print要显示的内容

option base在模块级别中使用,用来声明数组下标的默认下界,option base后面只能是0或者1,默认值为0。

试题推荐
微信公众账号搜索答案