在考生文件夹下有一个工程文件T507.vbp,其窗体上有一个文本框,名称为Text1;还有一个命令按钮,名称为C1,标题为“计算”,如图所示。有一个函数isprime()可以在程序中直接调用,其功能是判断参数a是否为素数,如果是素数,则返回True,否则返回False。请编写适当的事件过程,使得在运行时,单击“计算”按钮,则找出小于2000的最大素数,并显示在Text1中。
注意:考生不得修改isprime()函数过程和控件的属性。
试题源程序:
1 Private Function isprime(a As Integer)As Boolean
2 Dim flag As Boolean
3 flag=True
4 b%=2
5 Do While b%<=Int(a/2)And flag
6 If Int(a/b%)=a/b% Then
7 flag=False
8 Else
9 b%=b%+1
10 End If
11 Loop
12 isprime=flag
13 End Function
参考答案:
第一步:启动Visual Basic,打开考生文件夹下的工程文件T507.vbp。
第二步:双击窗口中的任何位置,进入程序编辑窗口,补充程序如下:
1 Private Sub C1 Click()
2 Static a As Integer
3 Dim i As Integer
4 For i=1 To 2000
5 Call isprime(i)
6 If isprime(i)=True Then
7 a=i
8 End If
9 Next i
10 Me Text1.Text=a
11 End Sub
第三步:调试运行程序,正确后以原文件名保存。
解析:
本题主要考查过程函数的调用以及For循环语句的使用。考生可在窗体上双击C1,进入程序编写窗口。根据题意,主要是使2000以内的最大素数显示在文本框中,故可以使用For循环语句,令变量i在1~2000之间取值,逐一作为实参调用isprime()函数过程,当遇到isprime()函数过程返回True值时,把i的值赋给a。这样循环便可得到2000以内的最大素数。
这也是本题最后所给两点要求的原因。