应用题 2. 在考生文件夹下有一个工程文件sjt4.vbp(相应的窗体文件名为sjt4.frm),其功能是通过调用过程FindMin求数组的最小值。程序运行后,在4个文本框中各输入一个整数,然后单击命令按钮,即可求出数组的最小值,并在窗体上显示出来(如图所示)。
    要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。
   
【正确答案】【操作步骤】
   步骤1:打开本题工程文件。
   步骤2:打开代码编辑窗口,去掉程序中的注释符“'”,将问号改为正确的内容。
   参考答案(字体加粗部分是需考生填入的内容)
   Option Base 1
   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 Command1_Click()
   Dim arr1
   Dim arr2(4)As Integer
   arr1=Array(Val(Text1.Text),Val(Text2.Text),Val(Text3.Text),Val(Text4.Text)) '申请arr1数组并初始化
   For i=1 To 4
   arr2(i)=CInt(arr1(i)) 'CInt函数将arr1中的数值转换为整型
   Next i
   M=FindMin(arr2)
   Print "最小值是:";M
   End Sub
   步骤3:调试并运行程序,关闭程序后按题目要求存盘。
   【易错提示】option base在模块级别中使用,用来声明数组下标的默认下界,option base后面只能是0或者1,默认值为0。
   
【答案解析】[考点] 本题考点有:Array()函数,UBound()函数,LBound()函数,Val()函数,Print方法,CInt()函数,For循环语句以及If判断语句。
文本框里的内容(包括数字)默认都是当做字符串来处理的,如果需要参与数据运算,则需先用Val()函数将其转化为数字(例如Val(Text1.Text))。CInt函数将数值转换为整型。
   这里需要指出的是,利用Array对数组各元素赋值,声明数组的类型只能是Variant。
   在本题的FindMin过程中,用变量Min记录最小值,最初把数组的第一个元素的值赋给Min,然后通过For循环语句将其后的元素依次与之比较,如果小于Min的值则与之交换,依次类推,最终Min的值就是数组各元素中的最小值。
   在窗体上打印信息可以通过Print方法来实现,其形式为:
   [对象.]Print要显示的内容