📄 d5r1.frm
字号:
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 4845
ClientLeft = 60
ClientTop = 345
ClientWidth = 4020
LinkTopic = "Form1"
ScaleHeight = 4845
ScaleWidth = 4020
StartUpPosition = 3 'Windows Default
Begin VB.CommandButton Command1
Caption = "Command1"
Height = 375
Left = 2400
TabIndex = 0
Top = 4200
Width = 1215
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
'PROGRAM D5R1
'Driver for routine EULSUM
NVAL = 40
Dim WKSP(40)
'Evaluate ln(1+x)=x-x^2/2+x^3/3-x^4/4... for -1<x<1
Print
Print Tab(5); "How many terms in polynomial?"
'Input MVAL , between 1 and 40, MVAL=0 TO END
MVAL = 20
Print Tab(5); MVAL
If (MVAL <= 0) Or (MVAL > NVAL) Then Exit Sub
Print Tab(5); " X Actual Polynomial"
For I = -8 To 8 Step 1
X = I / 10#
SUM = 0#
XPOWER = -1#
For J = 1 To MVAL
XPOWER = -X * XPOWER
TERM = XPOWER / J
Call EULSUM(SUM, TERM, J, WKSP())
Next J
Print Tab(4); Format$(X, ".##000");
Print Tab(15); Format$(Log(1# + X), "#.###000");
Print Tab(29); Format$(SUM, "#.###000")
Next I
End Sub
Sub EULSUM(SUM, TERM, JTERM, WKSP())
Static NTERM As Integer
If JTERM = 1 Then
NTERM = 1
WKSP(1) = TERM
SUM = 0.5 * TERM
Else
TMP = WKSP(1)
WKSP(1) = TERM
For J = 1 To NTERM
DUM = WKSP(J + 1)
WKSP(J + 1) = 0.5 * (WKSP(J) + TMP)
TMP = DUM
Next J
If Abs(WKSP(NTERM + 1)) <= Abs(WKSP(NTERM)) Then
SUM = SUM + 0.5 * WKSP(NTERM + 1)
NTERM = NTERM + 1
Else
SUM = SUM + WKSP(NTERM + 1)
End If
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -