[题目1]
本程序的功能是求数列的和,规定计算到第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. 程序中至少要包含一个函数过程。
答:
源程序:
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 课堂