问答题 编程题(26分) 【题目】 编写程序,求出巴都万数列(Padovan Sequence)的第n1项到第n2项中的素数数据项。巴都万数列的计算公式如下: P = 【编程要求】 1.程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见。 2.运行程序,在两个文本框中分别输入起始项与终止项的序号后按"查找"按钮,则在多行文本框中,按每行10个元素输出数列项数据,并在列表框中输出其中的素数数据项及其序号;按"清除"按钮,将三个文本框与列表框清空,焦点置于第一个文本框上;按"结束"按扭,结束程序运行。 3.程序中应定义一个判断素数的通用过程。 【要求】 将窗体文件和工程文件分别命名为F2和P2,并保存到T盘的根目录下。
【正确答案】Option Explicit Private Sub CmdFind_Click() Dim n1 As Integer, n2 As Integer, i As Integer Dim k As Integer, js As Integer, st As String n1 = Text1: n2 = Text2 For i = n1 To n2 k = Padovan(i) st = st & Str(k) js = js + 1 If js Mod 10 = 0 Then st = st & vbCrLf End If If prime(k) Then List1.AddItem k & "--(" & i & ")" End If Next i Text3 = st End Sub Private Function Padovan(n As Integer) As Integer If n = 0 Or n = 1 Or n = 2 Then Padovan = 1 Else Padovan = Padovan(n - 2) + Padovan(n - 3) End If End Function Private Function prime(n As Integer) As Boolean Dim i As Integer If n = 1 Then Exit Function For i = 2 To Sqr(n) If n Mod i = 0 Then Exit Function Next i prime = True End Function Private Sub CmdClear_click() Text1 = "": Text2 = "": Text3 = "" List1.Clear Text1.SetFocus End Sub Private Sub CmdExit_click() End End Sub
【答案解析】