问答题 在考生文件夹中有工程文件sjt5.vbp及其窗体文件sjt5.frm,陔程序是不完整的,请在有“?”号的地方填入正确内容,然后删除“?”及所有注释符(即“'”号)但不能修改其他部分。存盘时不得改变文件名和文件夹。
本题描述如下。
在名称为Form1的窗体上有两个单选按钮,名称分别为Opt1和Opt2,标题分别为“100~200之间素数”和“200~400之间素数”,一个文本框,名称为Text1,两个命令按钮,其名称分别为Cmd1和Cmd2,标题分别为“计算”和1,如图11-12所示。程序运行后,如果选中一个单选按钮并单击“计算”按钮,则计算…该单选按钮标题所指明的所有素数之和。并在文本框中显示出来。如果单击“存盘”按钮,则把汁算结果存入“out.txt”文件中,该文件必须放在考生文件夹中。(在考生文件夹中有标准模块mode.bas,其中的putdata过程可以把结果存入指定的文件,而isprime函数可以判断整数x是否为素数,如果是素数,则函数返回True,否则返回False,考生可以将该模块文件添加到自己的工程中。)
注意:窗体文件名为sjt5.frm,工程文件名为sit5.vbp。
【正确答案】文本框用Text属性来显示计算结果;命令按钮的标题由Caption属性来设置,单击命令按钮触发Click事件;为了检测单选按钮是否选中,可以通过检测Value属性来实现,当Value为True时,表示单选按钮被选中,否则未被选中。解题步骤如下。
(1)建立界面并设置控件属性。题目提供了程序用到的控件及其属性,如表11-4所示。
表11-4
控 件 属 性 设置值

单选按钮
Name

Caption
Op1

100—200之间素数

单选按钮
Name

Caption
Op2

200—400之间素数
文本框 Name Text1

命令按钮
Name

Caption
Cmd1

计算

命令按钮
Name

Caption
Cmd2

存盘
(2)编写程序代码。
程序提供的代码:
·标准模块代码
Option Explicit
Sub putdata(t_FileName As String,T_Str As Variant)
Dim sFile As String
sFile="/"&t_FileName
Open App.Path & sFile For Output As #1
Print #1,T_Str
Close #1
End Sub
Function isprime(t_I As Integer)As Boolean
Dim J As Integer
isprime=False
For J=2 To t_I/2
If t_I Mod J=0 Then Exit For
Next J
If J>t_I/2 Then isprime=True
End Function
窗体代码
Private Sub Cmd1_Click()
Dim i As Integer
Dim temp As Long
'temp=?
If Opt2.Value Then
For i=200 To 400
'If isprime(?)Then
temp=temp+1
End If
Next
Else
For i=100 To 200
If isprime(i)Then
temp=temp+i
End If
Next
End If
'Text1.?=temp
End Sub
Private Sub Cmd2_Click()
putdata"/out.txt",Text1.Text
End Sub
参考代码:
Private Sub Cmd1_Click()
Dim i As Integer
Dim temp As Long
temp=0
If Opt2.Value Then
For i=200 To 400
If isprime(i)Then
temp=temp+i
End If
Next
Else
For i=100 To 200
If isprime(i)Then
temp=temp+i
End If
Next
End If
Text1.Text=temp
End Sub
Private Sub Cmd2_Click()
putdata"/out.txt",Text1.Text
End Sub
(3)调试并运行程序。
(4)按题目要求存盘。
【答案解析】[解析] 素数的判断准则就是看该数除了1和其本身外是否无其他约数。`