用VB迭代法求某个数的平方根
题目:用迭代法求某个数的平方根。已知求平方根的迭代公式如图:算法思想:对于一个问题的求解x,可由给定的一个初值x0,根据某一x迭代公式得到一个新的值x1,这个新值x1比初...
题目:用迭代法求某个数的平方根。 已知求平方根的迭代公式如图:
算法思想:对于一个问题的求解x,可由给定的一个初值x0,根据某一
x 迭代公式得到一个新的值x1,这个新值x1比初值x0更接近要求的值x;
再以新值作为初值,即:x1→x0,重新按原来的方法求x1,重复这一过和 直到|x1-x0|<ε(某一给定的精度,如0.00001)。此时可将x1作为问题的解。
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
Private Function Fsqrt(a As Single) As Single
'********** Program *********
'********** End *************
End Function
Private Sub Form_Load()
Show
Print Fsqrt(45)
WWJT
End Sub
Private Sub WWJT()
Dim i As Integer
Dim s As String
Dim l As Single
Dim d As Double
Dim a(10) As String
Dim fIn As Integer
Dim fOut As Integer
fIn = FreeFile
Open App.Path & "\in.dat" For Input As #fIn
fOut = FreeFile
Open App.Path & "\out.dat" For Output As #fOut
For i = 1 To 10
Line Input #fIn, a(i)
l = Val(a(i))
Print #fOut, Fsqrt(l)
Next
Close #fIn
Close #fOut
End Sub
Come on! 展开
算法思想:对于一个问题的求解x,可由给定的一个初值x0,根据某一
x 迭代公式得到一个新的值x1,这个新值x1比初值x0更接近要求的值x;
再以新值作为初值,即:x1→x0,重新按原来的方法求x1,重复这一过和 直到|x1-x0|<ε(某一给定的精度,如0.00001)。此时可将x1作为问题的解。
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
Private Function Fsqrt(a As Single) As Single
'********** Program *********
'********** End *************
End Function
Private Sub Form_Load()
Show
Print Fsqrt(45)
WWJT
End Sub
Private Sub WWJT()
Dim i As Integer
Dim s As String
Dim l As Single
Dim d As Double
Dim a(10) As String
Dim fIn As Integer
Dim fOut As Integer
fIn = FreeFile
Open App.Path & "\in.dat" For Input As #fIn
fOut = FreeFile
Open App.Path & "\out.dat" For Output As #fOut
For i = 1 To 10
Line Input #fIn, a(i)
l = Val(a(i))
Print #fOut, Fsqrt(l)
Next
Close #fIn
Close #fOut
End Sub
Come on! 展开
3个回答
展开全部
Dim
x0
As
Single
Do
If
x0
=
0
Then
x0
=
InputBox("请输入初值")
Else
x0
=
a
End
If
a
=
Sqr(x0)
Loop
Until
Abs(a
-
x0)
<
0.0000001
End
Function
x0
As
Single
Do
If
x0
=
0
Then
x0
=
InputBox("请输入初值")
Else
x0
=
a
End
If
a
=
Sqr(x0)
Loop
Until
Abs(a
-
x0)
<
0.0000001
End
Function
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Dim x0 As Single
Do
If x0 = 0 Then
x0 = InputBox("请输入初值")
Else
x0 = a
End If
a = Sqr(x0)
Loop Until Abs(a - x0) < 0.0000001
End Function
Do
If x0 = 0 Then
x0 = InputBox("请输入初值")
Else
x0 = a
End If
a = Sqr(x0)
Loop Until Abs(a - x0) < 0.0000001
End Function
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
公式在哪?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询