问题 问答题

下面出现的“考生文件夹”均为c:\wexam\25160001。 去掉程序中的注释符,把程序中的改为正确的内容,使其实现下述功能,但不能修改程序中的其他部分,也不能修改控件的其他属性。最后把修改后的文件按原文件名存盘。 在考生文件夹下有一个工程文件sjt5.vbp,其窗体上有一个文本框,名称为Text1;有两个命令按钮,名称分别为C1和C2,标题分别为“计算”、“存盘”,如图,18-5所示。在给定程序中有一个函数过程isprime,其功能是判断参数a是否为素数,如果是素数,则返回True,否则返回False。

请将程序中有问号的地方替换为相应的代码,使得在运行时,单击“计算”按钮,则找出大于15000的第1个素数,并显示在Text1中;单击“存盘”按钮,则把Text1中的计算结果存入考生文件夹下的out5.txt文件中。 注意:考生不得修改isprime函数过程和控件的属性,必须把计算结果通过“存盘”按钮存入out5.txt文件中,否则无成绩。

答案

参考答案:

解析: 素数的判断准则就是看是否该数除了1和其本身外别无其他约数(即从2到n-1之间没有可以将其整除的数)即可,变量flag是用于保留判断数是否是素数的结果的,值有True和False两个(从程序中可以看出)所以应将其定义为布尔型(Boolean),并且在过程中判断完之后,将flag的值赋给函数过程isprime的名字。文本框通过Text属性显示计算结果,其形式为:
文本框名.Text=要显示的内容
将数据写入文件可用命令Write#语句或Print#语句,本程序中用的是后者,其形式为:
Pint#文件号,[输出列表]。解题步骤:
第一步:建立了界面并设置控件属性。程序用到的控件及其属性值见表18-5。
表 18-5

控 件属 性设 置 值
 文本框 Name Text1
 命令按钮 Name
 Caption
 C1
 计算
 命令按钮 Name
 Caption
 C2
 存盘
第二步:编写程序代码。
程序提供的代码:
Private Function isprime(a As Integer) As Boolean
’ Dim flag As
flag=True
b%=2
Do While b%<=Int(a/2) And flag
If Int(a/b%)=a/b% Then
flag=False
Else
b%=b%+1
End If
Loop
’ isprime=
End Function
Private Sub C1_Click()
Dim i As Integer
i=15O00
Do While Not isprime(i)
i=i+1
Loop
Text1.Text=i
End Sub
Private Sub C2_Click()
Open "Out5.txt" For Output As #1
’ Print #1, Text1.
Close #1
End Sub
参考代码:
Private Function isprime(a As Integer) As Boolean
Dim flag As Boolean
flag=True
b%=2
Do While b%<=Int(a/2) And flag
If Int(a/b%)=a/b% Then
flag=False
Else
b%=b%+1
End If
Loop
isprime=flag
End Function
Private Sub C1_Click()
Dim i As Integer
i=15000
Do While Not isprime(i)
i=i+1
Loop
Text1.Text=i
End Sub
Private Sub C2_Click()
Open "Out5.txt" For Output As #1
Print #1, Text1.Text
Close #1
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。

单项选择题
单项选择题