问答题 在考生文件夹下有一个工程文件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 第三步:调试运行程序,正确后以原文件名保存。 (2)
【答案解析】[解析] 本题主要考查过程函数的调用以及For循环语句的使用。考生可在窗体上双击C1,进入程序编写窗口。根据题意,主要是使2000以内的最大素数显示在文本框中,故可以使用For循环语句,令变量i在1~2000之间取值,逐一作为实参调用isprime()函数过程,当遇到isprime()函数过程返回True值时,把i的值赋给a。这样循环便可得到2000以内的最大素数。 这也是本题最后所给两点要求的原因。