问题 问答题

在考生文件夹下有一个工程文件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以内的最大素数。

这也是本题最后所给两点要求的原因。

单项选择题 A1型题
问答题 简答题