在考生文件夹下有一个工程文件sjt5.vbp。在窗体文件中已经给出了全部控件及部分程序。程序运行时,在文本框Text1中输入一个大于2的偶数,并单击“分解为”命令按钮,则可以将该偶数分解为两个素数之和,且要求其中一个素数是所能够分解出的最小的素数(一个偶数

admin2015-06-30  17

问题  在考生文件夹下有一个工程文件sjt5.vbp。在窗体文件中已经给出了全部控件及部分程序。程序运行时,在文本框Text1中输入一个大于2的偶数,并单击“分解为”命令按钮,则可以将该偶数分解为两个素数之和,且要求其中一个素数是所能够分解出的最小的素数(一个偶数有时可以分解为多种素数的组合,例如24可以分解为5和19,也可以分解为11和13,要求取含有最小素数的组合,如图所示)。要求编写“分解为”命令按钮事件过程中“考生编写程序开始”和“考生编写程序结束”之间的代码,以实现上述功能。过程IsPrime用来判断一个数是否为素数,如果是,返回值为True,否则返回值为False。
    注意:不得修改原有程序和控件的属性。至少正确运行一次程序,且程序运行时在文本框中输入23456,单击“分解为”按钮,将结果显示在标签中,否则将没有成绩,最后将修改后的文件按原文件名存盘。

选项

答案【操作步骤】 步骤1:打开本题工程文件。 步骤2:分析并编写程序代码。 程序提供代码 Private Function IsPrime(ByVal x As Integer) As Boolean Dim i As Integer IsPrime = False If x = 1 Then Exit Function For i = 2 To Sqr(x) If x Mod i = 0 Then     Exit Function End If Next IsPrime = True End Function Private Sub Command1_Click() ’考生编写程序开始 ’==================== ’======================= ’考生编写程序结束 Open App.Path & "\out5.dat" For Output As #1 Print #1, Text1.Text, Label1.Caption, Label2.Caption Close #1 End Sub 程序结束 参考答案 For i = 1 To Val(Text1.Text) If IsPrime(i) And IsPrime(Val(Text1.Text) - i) Then Label1 = i Label2 = Val(Text1.Text) - i Exit For End If Next i 步骤3:调试并运行程序,关闭程序后按题目要求存盘。

解析
转载请注明原文地址:https://kaotiyun.com/show/skQp777K
0

最新回复(0)