当前位置:IT认证>BASIC题库

问题:[问答题]

[问答题] 在考生文件夹下有一个工程文件stj4.vbp,相应的窗体文件为stj4.frm,其功能是通过调用过程FindMax求数组的最大值,请装入该文件,程序运行后,在四个文本框中各输入一个整数,然后单击命令按钮,即可求得数组的最大值,并在窗体上显示出来(如下图所示)。这个程序不完整,请把它补充完整,并能正确运行。试题源程序:1 Option Base 12 Private Function FindNax(a( )As Integer)3 Dim Start As Integer4 Dim Finis

  

参考答案:

(1)启动VB程序,打开考生文件夹下的工程文件stj4.vbp。

(2)双击窗体中的任何位置,进入代码编辑窗口,完善程序如下:

1privateFunctionFindMin(a()AsInteger)

2DimStartAsInteger

3DimFinishAsInteger,iAsInteger

4Start=LBound(a)

5Finish=UBound(a)

6Min=a(Start)

7Fori=StartToFinish

8Ifa(i)<MinThenMin=a(i)

9Nexti

10FindMin=Min

11EndFunction

12PrivateSubCommand1_Click()

13Dimart1

14Dimart2(4)AsInteger

15arr1=Array(Val(Text1.Text),Val(Text2.Text),

Val(Text3.Text),Val(Text4.Text))

16Fori=1To4

17art2(i)=CInt(arr1(i))

18Nexti

19M=FindMin(art2())

20Print"最大值是:";M

21EndSub

(3)单击启动键运行成功。

(4)按考试要求将文件保存在考生文件夹下。

2.命令按钮的click事件中对输入的四个数据求最小值,大小比较运算是基于数值的,文本框中数值类型为字符串,所以首先采用Val()函数进行数据类型转换,然后调用求最小值的FindMin过程得到最小值,并将它输出。

  参考解析

过程FindMin求数组的最小值。将数组的第一个值设为最小值Min,其后的值依次与之比较,若小,则将其赋给Min,最终得到的就是最小值。所以有Start=LBound(a),Finish=UBound(a)和Min=a(Start)

微信端