Проверьте задачу. Описать функцию 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.
Листинг программы
- Function Ln1(x As Single, e() As Single) As Single
- Dim y As Single
- Dim s As Single
- Dim i As Integer
- y = x
- s = y
- i = 1
- For i = 1 To 6
- y = -1 * y * x
- s = s + y / i
- Ln1 = s
- Next i
- End Function
- Private Sub Command1_Click()
- Dim x As Single
- Dim e(1 To 6) As Single
- Dim i As Integer
- x = Val(InputBox("Ââå 28;èòå ÷èñëî X(|x|<1)="))
- For i = 1 To 6
- e(i) = Val(InputBox("Г‡Г*Г¤ 24;éòå ',i,' òî÷Г*îñ ;ГІГј e(e>0)="))
- Next i
- Print Ln1(x, e)
- End Sub
Решение задачи: «Проверьте задачу. Описать функцию 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д