为了验证一个正整数n(n>3)是否为素数,最直观的方法是,看在2~n/2范围内能否找到一个整数m将n整除,若m存在,则n不是素数;若找不到m,则n为素数。在考生文件夹下有一个工程文件sjt5.vbp,其窗体上有1个名称为Text1的文本框。请根据上面的算法

admin2020-07-22  41

问题 为了验证一个正整数n(n>3)是否为素数,最直观的方法是,看在2~n/2范围内能否找到一个整数m将n整除,若m存在,则n不是素数;若找不到m,则n为素数。在考生文件夹下有一个工程文件sjt5.vbp,其窗体上有1个名称为Text1的文本框。请根据上面的算法,编写判断一个正整数是否为素数的函数prime,然后用这个函数找出200~300之间的所有素数,求出这些素数的和,将该数在文本框中显示出来,并存入文件out5.txt中。
    要求:编写函数prime的代码,然后在Form Click事件过程中调用该函数,并计算素数的和。事件过程中已给出了把素数和保存到文件中的代码,考生不得修改。
    注意:请务必把求得的和在文本框中显示出来,这样才能存入文件out5.txt,否则没有成绩。

选项

答案步骤1:打开考生文件夹中的工程文件sjt5.vbp,在代码编辑窗口中,去掉程序中的注释符“’”,将问号“?”改为正确的内容。参考代码: Function prime(ByVal n As Integer) As Boolean ’ ****** 考生编写 ****** Dim flaq As Boolean flag= IIf(n>1,True,False) For m=2 To n/2 If n Mod m=0 Then flag=False Exit For End If Next m prime=flag ’ ********************************** End Function Private Sub Form Click() ’******考生编写****** Dim sun As Integer For n=200 To 300 If prime(n) Then Sum=Sum+n End If Next n Text1.Text=Sum ’ ************************ Open App.Path &"\out5.txt"For Output As #1 Print #1,Text1.Text Close 1 End Sub 步骤2:按键运行程序,单击各个按钮测试验证。 步骤3:按要求将文件保存至考生文件夹中。

解析 题目要求计算200~300之间的素数和,可通过一个循环来实现,在循环里面逐个判断200~300之间的数是否为素数,如果是计算累加和。
    函数prime用来判断输入参数n是否为素数,方法是2~n/2范围内能否找到一个整数m将n整除,若m存在,则n不是素数;若找不到m,则n为素数。设计程序的时候,通过循环来实现,循环变量m从2开始,循环结束条件为n/2,Step为1,如果n mod m为0,表示m将n整除,n不是素数。
转载请注明原文地址:https://kaotiyun.com/show/kgHp777K
0

最新回复(0)