📄 抛物线法.frm
字号:
VERSION 5.00
Begin VB.Form Form23
BackColor = &H00FFFFFF&
Caption = "抛物线法"
ClientHeight = 7605
ClientLeft = 60
ClientTop = 345
ClientWidth = 7515
LinkTopic = "Form16"
ScaleHeight = 7605
ScaleWidth = 7515
StartUpPosition = 3 '窗口缺省
Begin VB.CommandButton Command1
Caption = "抛物线法"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 615
Left = 2760
TabIndex = 0
Top = 120
Width = 1815
End
End
Attribute VB_Name = "Form23"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
x0 = 1
X1 = 2
X2 = 3
k = 1
Cls
Print: Print: Print: Print: Print: Print: Print: Print: Print
Do While True
x = x0
y0 = x ^ 3 + x - 4
x = X1
Y1 = x ^ 3 + x - 4
x = X2
Y2 = x ^ 3 + x - 4
i = (X2 - X1) / (X1 - x0)
j = 1 + i
a = y0 * i ^ 2 - Y1 * i * j + Y2 * i
b = y0 * i ^ 2 - Y1 * j ^ 2 + Y2 * (i + j)
c = Y2 * j
m = b + (b ^ 2 - 4 * a * c) ^ 0.5
n = b - (b ^ 2 - 4 * a * c) ^ 0.5
If b < 0 Then
l = (-2) * c / n
Else
l = (-2) * c / m
End If
x3 = X2 + l * (X2 - X1)
x = x3
y = x ^ 3 + x - 4
Print Tab(7); "k="; k, "x0="; Int(x0 * 1000000 + 0.5) / 1000000, "y0="; Int(y0 * 1000000 + 0.5) / 1000000, "x1="; Int(X1 * 1000000 + 0.5) / 1000000, "y1="; Int(Y1 * 1000000 + 0.5) / 1000000, "x2="; Int(X2 * 1000000 + 0.5) / 1000000, "y2="; Int(Y2 * 1000000 + 0.5) / 1000000, "x="; Int(x * 1000000 + 0.5) / 1000000, "y="; Int(y * 1000000 + 0.5) / 1000000
e = Abs(y)
MsgBox "按任意键继续"
If e < 0.00001 Then
Exit Do
Else
x0 = X1
y0 = Y1
X1 = X2
Y1 = Y2
X2 = x
Y2 = y
End If
k = k + 1
Loop
Print
Print Tab(7); "经过"; k; "次后得到方程的解为:"; "x="; Int(x * 1000000 + 0.5) / 1000000
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -