posts - 70,comments - 80,trackbacks - 0

[题目1]

o_sl.JPG
本程序的功能是求数列的和,规定计算到第k项的值≤10-6为止。

(输入X=2测试程序,正确结果为S=0.9985868)。

答:

源程序:

Option Explicit

Private Function pt(x As Single, n As Integer) As Single

    Dim p As Single, i As Integer

    p = 1

    For i = 1 To n

        p = p * i / (x + i)

    Next i

    pt = p

End Function

 

Private Sub Form_Click()

    Dim x As Single, k As Integer, i As Integer

    Dim a As Double, s As Single, p As Double

    Do

        x = InputBox("输入一个大于1的数:", , 1)

        If x <= 1 Then MsgBox "数据错误,重输!", vbOKOnly

    Loop Until x > 1

    k = 1

    Do

        a = pt(x, k)

        s = s + a

        If a <= 0.000001 Then Exit Do

        k = k + 1

    Loop

    Print s

End Sub

 

【题目2】编程找出10000以内的所有可以表示为两个平方数和的素数。
[编程要求]  

1. 编程参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;

2.标题“可表示为两个平方数和的素数列表”要求居中,按“生成素数列表”按钮,则运行程序;按“清除数据列表”按钮,则将列表框清空;按“返回”按钮,则停止程序运行;

3. 程序中至少要包含一个函数过程。

答:o_v72.JPG

源程序:

Private Sub Command1_Click()

Dim i As Integer, j As Integer, s1 As Integer, s2 As Integer, k As Integer

For i = 2 To 10000

  If sushu(i) Then

      For j = 2 To Int(Sqr(i))

          For k = j + 1 To Int(Sqr(i))

              s1 = j ^ 2

              s2 = k ^ 2

              If i = s1 + s2 Then

                  List1.AddItem i & "=" & s1 & "+" & s2

              End If

            Next k

        Next j

  End If

Next i

List1.Refresh

End Sub

 

Private Function sushu(x As Integer) As Boolean

Dim i As Integer

sushu = False

For i = 2 To Int(Sqr(x))

    If x Mod i = 0 Then Exit Function

Next i

sushu = True

End Function

 

Private Sub Command2_Click()

List1.Clear

End Sub

 

Private Sub Command3_Click()

End

End Sub

 

Private Sub Form_Initialize()

label1.Left = (Me.Width - label1.Width) / 2

End Sub

posted on 2006-10-03 09:23 木子李 阅读(384) 评论(0)  编辑 收藏 引用 网摘 所属分类: Visual Basic 课堂

只有注册用户登录后才能发表评论。