求解 VB 题 做好追加!!!

来源:百度知道 编辑:UC知道 时间:2024/05/19 08:47:57
编写程序,在文本框Text1中输入t,在窗体的单击事件中完成:计算:1-1/3!+1/5!-1/7!+…,将结果放入文本框Text2中。
要求表达式中参与计算的每一项的绝对值必须大于等于t,但当项的绝对值小于t时不再计算。
所有变量使用变体类型。要求结果保留小数8位。
如:输入:0.01,输出:.83333333。

Private Sub Form_Click()
Form1.AutoRedraw = True
Dim T, A, S, N, J, H
T = Val(Text1.Text)
S = 0
J = 0
H = 1
A = (-1) ^ J / H
Do While Abs(A) >= T
S = S + A
J = J + 1
H = 1
For N = 1 To 2 * J + 1
H = H * N
Next N
A = (-1) ^ J / H
Loop
Text2.Text = Format(S, "0.00000000")
End Sub

已经运行过。

建议提问前先搜索,很多问题已经有人问过
这是我前几天的回答

Private Sub Form_Click()
Dim i As Long, s As Double, d As Double, f As Double, k As Integer, t As Double
t = Val(Text1.Text)
i = 1
s = 0
f = i
k = 1 '符号,比(-1) ^ (n + 1)节约很多时间
Do
s = s + k / f
k = -k
Debug.Print s;
i = i + 2
f = f * (i - 1) * i
Loop While 1 / f >= t
Text2.Text = Round(s, 8)
End Sub