Вычисление суммы всех членов последовательности, не меньших заданного числа e - VB

Формулировка задачи:

Вычисление суммы первых n членов выходит, а вот с точностью нет. Подскажите, пожалуйста, в чем моя ошибка:
Function f(k)
If k = 1 Then f = 1 Else f = f(k - 1) * k
End Function
Function f2(x)
If x = 1 Then f2 = 1 Else f2 = f2(x - 1) * x
End Function
 
Private Sub Command1_Click()
Picture1.Cls: Picture2.Cls: Picture3.Cls
n = Val(Text1)
e = Val(Text2)
s = 0
s1 = 0
For k = 1 To n 
q = (-1) ^ k * k / (f(k) + f(k + 1))
s = s + q
Next k
Picture1.Print "Сумма "; s 'первых n членов
 
For x = 1 To 50000
q2 = (-1) ^ x * x / (f2(x) + f2(x + 1))
s1 = s1 + q2
    If q2 < e Then GoTo 1
Next x
1 Picture2.Print "Сумма "; s1 'с точностью
  Picture3.Print "Кол-во элементов "; x
End Sub

Код к задаче: «Вычисление суммы всех членов последовательности, не меньших заданного числа e - VB»

textual
If ABS(q2) < e Then exit for 'GoTo 1 и метку убери, не порти впечатление

12   голосов, оценка 4.333 из 5


СОХРАНИТЬ ССЫЛКУ
Похожие ответы