Проверьте задачу. Описать функцию Ln1(x,e) вещественного типа - VB
Формулировка задачи:
Описать функцию Ln1(x,e) вещественного типа (параметры x, e - вещественные, |x|<1, e>0), находящую приближенное значение функции ln(1+x): ln(1+x)=x–x^2/2+x^3/3–...+(–1)^n*x^n+1/(n+1)+... . В сумме учитывать все слагаемые, модуль которых больше e. С помощью Ln1 найти приближенное значение ln(1+x) для данного x при шести данных e.
Решение задачи: «Проверьте задачу. Описать функцию Ln1(x,e) вещественного типа»
textual
Листинг программы
Option Explicit
'ln(1+x): ln(1+x)=x–x^2/2+x^3/3–...+(–1)^n*x^n+1/(n+1)+
Function Ln1(ByVal x As Single, e As Single) As Single
Dim s As Single, n As Long
Do
s = s + ((-1) ^ n) * (x ^ (n + 1)) / (n + 1)
n = n + 1
Loop Until (x ^ (n + 1)) / (n + 1) < e
Ln1 = s
End Function
Private Sub Command1_Click()
Dim x As Single, e(1 To 6) As Single, i As Integer
x = CSng(InputBox("Введите число X(|x|<1)=", , "0,99"))
For i = 1 To 6
e(i) = CSng(InputBox("Задайте " & i & "-ю точность e(e>0)=", , "0,00001"))
Next i
For i = 1 To 6
Print Ln1(x, e(i))
Next i
End Sub