Private Sub Command1_Click()
Dim x As Double
Dim shangxian As Double
Dim xiaxian As Double
Dim fenge As Double
Dim xs As Double
Dim n As Integer
shangxian = Val(Text1.Text)
xiaxian = Val(Text2.Text)
fenge = Val(Text3.Text)
re = 0
For i = 1 To 1000000000
xs = xiaxian + i * fenge
If xs >= shangxian Then
xs = shangxian
re = xs ^ 2 * fenge + re
Exit For
End If
re = xs ^ 2 * fenge + re
Next i
List1.AddItem "上限为" & shangxian & ",下限为" & xiaxian & "分割长度为" & fenge & "时, "
List1.AddItem "x^2的积分结果为:" & re
List1.AddItem " "
End Sub
*************************矩形法求积分********************************
Option Explicit
'用辛普生公式求定积分:S=h/3*(P+2*S2+4*S4)
'求积分∫(1/(1+X*X))dx,a=0,b=0.6,允许误差小于0.01
Private Sub Command1_Click()
Dim A!, B!, N%, S!, S0!, P!, S2!, S4!, H!, X!, i%
A = 0
B = 0.6
N = 2
S0 = 0
P = 1 / (1 + A * A) + 1 / (1 + B * B) Do
H = (B - A) / N * 0.5
S2 = 0
X = A + H
S4 = 1 / (1 + X * X)
For i = 2 To 2 * N - 1 Step 2
X = X + H
S2 = S2 + 1 / (1 + X * X)
X = X + H
S4 = S4 + 1 / (1 + X * X)
Next
S = H / 3 * (P + 2 * S2 + 4 * S4)
If Abs(S - S0) <= 0.01 Then Exit Do S0 = S
N = 2 * N
Loop
MsgBox "S=" & S
End Sub