在考生文件夹中有工程文件sjt5.vbp及其窗体文件sjt5.frm,该程序是不完整的,请在有号的地方填入正确内容,然后删除及所有注释符(即’号)但不能修改其他部分。存盘时不得改变文件名和文件夹。
本题描述如下:
在名称为Form1的窗体上有两个单选按钮,名称分别为Opt1和Opt2,标题分别为“100-200之间素数”和“200-400之间素数”,一个文本框,名称为Text1,和两个命令按钮,其名称分别为Cmd1和Cmd2,标题分别为“计算”和“存盘”,如图1-5所示。程序运行后,如果选中一个单选按钮并单击“计算”按钮,则计算出该单选按钮标题所指明的所有素数之和。并在文本框中显示出来。如果单击“存盘”按钮,则把计算结果存入“out.txt”文件中,该文件必须放在考生文件夹中。(在考生文件夹中有标准模块mode.bas,其中的putdata过程可以把结果存入指定的文件,而isprime函数可以判断整数x是否为素数,如果是素数,则函数返回 True,否则返回False,考生可以将该模块文件添加到自己的工程中。)
注意:必须把200-400之间的素数之和存入考生文件夹下的out.txt文件中,否则没有成绩。保存程序时必须存放在考生文件夹下,窗体文件名为sjt5.frm,工程文件名为sjt5.vbp。
参考答案:素数的判断准则就是看是否该数除了A和其本身外别无其他约数即可。
文本框用丁Text属性来显示计算结果:命令按钮的标题由Caption属性来设置,单击命令按钮触发Click事件;为了检测单选按钮是否选中,可以通过检测Value属性来实现,当Value为了true时,表示单选按钮被选中,否则未被选中。解题步骤:
第一步:建立界面并设置控件属性。题目提供了程序用到的控件及其属性,见表A-D。
[*]
第二步:编写程序代码。
程序提供的代码:
标准模块代码
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 #l
Print #A, T_Str
Close #A
End Sub
Function isprime(t_I As Integer) As Boolean
Dim J As Integer
isprime = False
For J = B To t_I / B
If t_I Mod J = 0 Then Exit For
Next J
If J > t_I / B Then isprime = True
End Function
窗体代码
Private Sub CmdA_Click()
Dim i As Integer
Dim temp As Long
’ temp =
If OptB.Value Then
For i = B00 To D00
’ If isprime() Then
temp = temp + i
End If
Next
Else
For i = A00 To B00
If isprime(i) Then
temp = temp + i
End If
Next
End If
’ TextA. = temp
End Sub
Private Sub CmdB_Click()
putdata "\out.txt", TextA.Text
End Sub
参考代码:
Private Sub CmdA_Click()
Dim i As Integer
Dim temp As Long
temp = 0
If OptB.Value Then
For i = B00 To D00
If isprime(i) Then
temp = temp + i
End If
Next
Else
For i = A00 To B00
If isprime(i) Then
temp = temp + i
End If
Next
End If
TextA.Text = temp
End Sub
Private Sub CmdB_Click()
putdata "\out.txt", TextA.Text
End Sub
第三步:调试并运行程序。第四步:按题目要求存盘。