为什么这个vb.6 ln(x)代码不起作用?
问题描述:
我为ln做了这段代码作为作业,但它不适用于大于2的数字! 你能帮助我吗?为什么这个vb.6 ln(x)代码不起作用?
If Val(txt.Text) <= 0 Then
MsgBox "can't find ln !", vbExclamation + vbOKOnly, "ERROR": Exit Sub
Else
sign = -1
Sum = x - 1
r = 2
For j = 2 To 3 Step 0
t = sign * ((x - 1)^r/r)
If Abs(t) >= 0.0000001 And Abs(t) <= 100000000# Then
Sum = Sum + t
sign = -sign
r = r + 1
Else
GoTo 12
End If
Next
End If
这里的方程的图像:
答
非常感谢您的帮助,特别是MarkL,我做到了!我很高兴这个:)
这里是最终的代码,如果你有兴趣^ _ ^:
If Val(txt.Text) <= 0 Then
MsgBox "can't find ln !", vbExclamation + vbOKOnly, "ERROR"
Exit Sub
ElseIf x < 0.51 Then
sign = -1
Sum = x - 1
For i = 2 To 500
t = sign * ((x - 1)^i/i)
If Abs(t) >= 0.0000001 Then
Sum = Sum + t
sign = -sign
Else
GoTo 12
End If
Next
Else
Sum = 0
For i = 1 To 600
t = ((x - 1)/x)^i
If Abs(t) < 10000000 Then
Sum = Sum + (t/i)
Else
GoTo 12
End If
Next
End If
1.我们需要更多的代码。 2.你的循环只能从2到3. GOTO ...真的?!?! – Jeremy
该循环也使用“步0”,这意味着它不会增加 – Marc
该代码是错误的方程,以及...你有更多的问题比你想象的... – Codexer