问题 问答题

在考生文件夹下有一个工程文件stj4.vbp,相应的窗体文件为stj4.frm,其功能是通过调用过程FindMax求数组的最大值,请装入该文件,程序运行后,在四个文本框中各输入一个整数,然后单击命令按钮,即可求得数组的最大值,并在窗体上显示出来(如下图所示)。这个程序不完整,请把它补充完整,并能正确运行。

试题源程序:

1 Option Base 1

2 Private Function FindNax(a( )As Integer)

3 Dim Start As Integer

4 Dim Finish As Integer,i As Integer

5 ’Start=(a)

6 ’Finish=(a)

7 ’Max=(Start)

8 For i=Start To Flnlsh

9 ’If a(i)Nax Then Nax=

10 Next i

11 FindMax=Nax

12 End Function

13 Private Sub Command1_Click( )

14 Dim arr1

15 Dim art2(4)As Integer

16 arr1=Array(Val(Text1.Text),Val(Text2.Text),Val(Text3.Text),Val(Text4.Text))

17 For i=1 To 4

18 arr2(i)=CInt()

19 Next i

20 ’M=FindUax()

21 Print"最大值是:";M

22 End Sub

答案

参考答案:

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

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

1 private Function FindMin(a( )As Integer)

2 Dim Start As Integer

3 Dim Finish As Integer,i AsInteger

4 Start=LBound(a)

5 Finish=UBound(a)

6 Min=a(Start)

7 For i=Start To Finish

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

9 Next i

10 FindMin=Min

11 End Function

12 Private Sub Command1_Click( )

13 Dim art1

14 Dim art2(4)As Integer

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

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

16 For i=1 To 4

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

18 Next i

19 M=FindMin(art2( ))

20 Print "最大值是:";M

21 End Sub

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

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

解析:

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

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

单项选择题
单项选择题 A1型题