(1)在考生文件夹下有一个工程文件sj3.vbp,相应的窗体文件为sj3.frm。其功能是在Text1文本框中输入一个数N,单击命令按钮计算从O到N的所有素数的和,并在Text2中显示出来。运行程序如图7~3所示。 注意:去掉程序中的注释符“’”,

admin2010-07-13  15

问题 (1)在考生文件夹下有一个工程文件sj3.vbp,相应的窗体文件为sj3.frm。其功能是在Text1文本框中输入一个数N,单击命令按钮计算从O到N的所有素数的和,并在Text2中显示出来。运行程序如图7~3所示。
    注意:去掉程序中的注释符“’”,把程序中的“?”改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。
    (2)在考生文件夹下有工程文件sj4.vbp及窗体文件sj4.frm,该程序是不完整的。本程序的功能为当用户单击窗体上的命令按钮“输人”时,可以输入6个数值,随后程序对这6个数值进行升序排序,单击按钮“输出”则把大于平均值的数显示出来,程序运行时的窗体如图7—4所示。

    注意:请在有“?”号的地方填入正确内容,然后删除“?”及代码前的所有注释符(即“’”号),但不能修改其他部分。存盘时不得改变文件名和文件夹。

选项

答案 (1)判断一个数是否为素数的准则:就是看该数是否除了1及其本身外别无其他约数(即从2到n-l之间没有可以将其整除的数)即可。 根据题意,在窗体上添加两个Text控件和一个Command控件,Text的名称分别为Textl和Text2、Text属性均为空,Command的名称为Commandl、Caption属性为“计算”。双击Commandl命令按钮,编写如下代码(本书答案解析部分的代码中,若无特殊说明,加下划线的代码则表明是需要考生补充的代码): Private Sub Command1_Click() Dim total As Long Dim i As Integer total=0 For i=1 To Val(Textl.Text) If isPrimeNum(i)=True Then’调用isPrimeNum函数判断是否是素数 total=tota1+i’如果是,则进行求和 End If Next 1 Text2.Text=total ’将结果在Text2中显示 End Sub Func.tion isPrimeNum(num As Integer)As Boolean ’判断输入的数是否为素数 isPrimeN um=True Dim i AS Integer For i=2 To num-1 If num Mod i=0 Then’如果能被除1及其本身以外的数整除 isPrimeNum=False’则此数不是素数 Exit For End If Next i End Function 单击[*]按钮运行程序,并按要求保存。 (2)根据题意,在窗体上添加一个Text控件和两个Command控件,Text的名称为Textl、Text属性为空,Command的名称分别为Commandl和Command2,Caption属性分别为“输入”和“输出”。双击Commandl命令按钮,编写如下代码: Dim a(6)As Integer Private Sub Commandl_Click() Dim i As Integer Dim j As Integer Dim k As Integer Dim tmp As Integer For i=1 To 6 a(i)=Val(InputBox(”请输入”)) Next i For i=1 To 6’升序序排列 temp=a(i) For j=1 To i If a(j)>temp Then’读取的数据比原位置的数据大则偏移 For k=i To j+1 Step-1’上下限 a(k)=a(k-1) ’数据向后偏移一个 Next k a(j)=temp Exit For End If Next j Next i End Sub Private Sub Command2 Click() Dim arg As Integer Dim str As String Dim j As Integer arg=0 Dim i As Integer str="" For i=1 To 6 arg=arg+a(i)’求总和 Next i arg=arg\6’求平均值 For i=1 To 6 If a(i)>arg Then’当大于平均值时则写入字符串 str=str+CStr(a(i))+"" End If Next i Textl.Text=str’将结果显示在Textl中 End Sub 单击[*]按钮运行程序,并按要求保存。

解析
转载请注明原文地址:https://jikaoti.com/ti/1yg0FFFM
0

最新回复(0)