Сумма ряда с использованием факториала - VB (60965)

Узнай цену своей работы

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

Помогите найти ошибку. VB 6.0 (Задание во вложениях).

Составить программу вычисления суммы всех членов последовательности, не меньших заданного числа e. При вычислении факториала использовать рекурсивную подпрограмму-функцию.

Решение задачи: «Сумма ряда с использованием факториала»

textual
Листинг программы
Function fact(n As Integer) As Double
  If n = 1 Then
     fact = 1
  Else
     fact = CDbl(n) * fact(n - 1)
  End If
End Function
 
Function Dummy_f(eps As Double) As Double
    k% = 0
    a# = 0
    Do
       k% = k% + 1
       a# = ((-1) ^ k%) * (1 / fact(k%))
       Dummy_f = Dummy_f + a#
    Loop Until (Abs(a#) < eps)
End Function
 
Function Smart_f(eps As Double) As Double
    k% = 1
    a# = -1
    Smart_f = -1
    Do
       k% = k% + 1
       a# = -a# / k%
       Smart_f = Smart_f + a#
    Loop Until (Abs(a#) < eps)
End Function
 
Sub Test()
    Debug.Print Dummy_f(0.00001)
    Debug.Print Smart_f(0.00001)
End Sub

Оцени полезность:

7   голосов , оценка 4.286 из 5