维插值算法与实现.pptx
《维插值算法与实现.pptx》由会员分享,可在线阅读,更多相关《维插值算法与实现.pptx(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、会计学1维插值算法与实现维插值算法与实现第1页/共52页三角形面积求解三角形面积求解n n可以采用一个界面的输入方式,也可采用inputbox的输入方式,但要注意,因为输入的次数为三次,要用定数循环,不能没有条件的循环。第2页/共52页三角形面积求解三角形面积求解n nPrivate Sub Form_Load()Private Sub Form_Load()n nText2=Text2=n nEnd SubEnd Subn nPrivate Sub Text1_Change(Index As Private Sub Text1_Change(Index As Integer)Integer)
2、n nIf Not IsNumeric(Text1(Index).Text)If Not IsNumeric(Text1(Index).Text)ThenThenn n Text2.Text=Text2.Text=输入的不是数字,输入的不是数字,请重新输入请重新输入 n n Text1(Index).SetFocus Text1(Index).SetFocusn n Text1(Index).Text=Text1(Index).Text=n nElseElsen n Text2=Text2=输入的数字是正确的输入的数字是正确的 n nEnd IfEnd Ifn nEnd SubEnd Sub初
3、始化判断输入的数据第3页/共52页三角形面积求解三角形面积求解n nPrivate Sub Command1_Click()Private Sub Command1_Click()计算计算n nDim A#,B#,C#,S#,Mianji#Dim A#,B#,C#,S#,Mianji#n nA=Val(Text1(0).Text)A=Val(Text1(0).Text)n nB=Val(Text1(1).Text)B=Val(Text1(1).Text)n nC=Val(Text1(2).Text)C=Val(Text1(2).Text)n nIf A+B C And B+C A And A+
4、C B If A+B C And B+C A And A+C B ThenThenn n S=(A+B+C)/2 S=(A+B+C)/2n n Mianji=Sqr(S*(S-A)*(S-B)*(S-C)Mianji=Sqr(S*(S-A)*(S-B)*(S-C)n n Text2.Text=Format(Mianji,Text2.Text=Format(Mianji,三角形的面积三角形的面积为为0.#)0.#)n nElseElsen n Text2.Text=Text2.Text=输入的三条边不能构成三角输入的三条边不能构成三角形形 n nEnd IfEnd Ifn nEnd SubEnd
5、 Sub第4页/共52页三角形面积求解方法三角形面积求解方法2第5页/共52页三角形面积求解三角形面积求解n nPrivate Sub Command4_Click()Private Sub Command4_Click()n nOn Error Resume NextOn Error Resume Nextn nDim AA()As StringDim AA()As Stringn nIf Text3(0).Text Or Text3(1).Text ThenIf Text3(0).Text Or Text3(1).Text Thenn n If Option1(0).Value=True
6、Then AA=Split(Text3(0).Text,)If Option1(0).Value=True Then AA=Split(Text3(0).Text,)n n If Option1(1).Value=True Then AA=Split(Text3(1).Text,)If Option1(1).Value=True Then AA=Split(Text3(1).Text,)n nElseElsen n Text4=Text4=没有数据输入没有数据输入 n nEnd IfEnd Ifn n下续下续第6页/共52页三角形面积求解三角形面积求解n nFunction Split(Exp
7、ression As String,Delimiter,Limit As Long=-1,Compare As VbCompareMethod=vbBinaryCompare)VBA.Strings 的成员 Split a string into an array解释:split把一个字符串按分隔符分成一个数组,这个数组须是动态数组。空格分隔容易出现问题,但逗号分隔不会出现问题。例如:第7页/共52页三角形面积求解三角形面积求解多加几个空格没有问题,但不能有两个逗号连着多加几个空格出现问题,分解的值有问题第8页/共52页代码续代码续n nDim A#,B#,C#,S#,Mianji#Dim A
8、#,B#,C#,S#,Mianji#n nA=Val(AA(0)A=Val(AA(0)n nB=Val(AA(1)B=Val(AA(1)n nC=Val(AA(2)C=Val(AA(2)n nIf A+B C And B+C A And A+C B ThenIf A+B C And B+C A And A+C B Thenn n S=(A+B+C)/2 S=(A+B+C)/2n n Mianji=Sqr(S*(S-A)*(S-B)*(S-C)Mianji=Sqr(S*(S-A)*(S-B)*(S-C)n n Text4.Text=Text4.Text=三角形的三边分别为三角形的三边分别为a=&
9、A&,b=&B&,c=&C&vbCrLf&a=&A&,b=&B&,c=&C&vbCrLf&Format(Mianji,Format(Mianji,三角形的面积为三角形的面积为0.#)0.#)n nElseElsen n Text4.Text=Text4.Text=三角形的三边分别为三角形的三边分别为a=&A&,b=&B&,c=&C&vbCrLf&a=&A&,b=&B&,c=&C&vbCrLf&输入的三条输入的三条边不能构成三角形边不能构成三角形 n nEnd IfEnd Ifn nEnd SubEnd Sub第9页/共52页n n103.75,-1,38,7,15,1;n n96.75,1,8
10、6,52,30,1;n n420.77,-1,39,18,30,1;n n208.64,1,62,31,30,1;n n436.79,1,25,56,30,-1;n n56.48,-1,87,1,15,-1;n n98.8,-1,53,22,0,-1;n n68.62,1,36,38,0,-1;n n95.1,1,59,29,0,-1;n n207.41,-1,51,40,45,-1第10页/共52页n nPublic Sub StrtoShuzhu(ByVal Str1 As String,A()As Double)n nDim RowData As Variantn nDim ColDat
11、a As Variantn nDim RowtmpDat As Variantn nDim ColTmpDat As Variantn nDim r As Integer,C As Integern nRowData=Split(Str1,;)n nReDim A(UBound(RowData),1)n nr=-1第11页/共52页n nFor Each RowtmpDat In RowDatan nColData=Split(RowtmpDat,)n nReDim Preserve A(UBound(RowData),UBound(ColData)n nr=r+1n nC=-1n nFor
12、Each ColTmpDat In ColDatan nC=C+1n nA(r,C)=ColTmpDatn nNextn nNext第12页/共52页第13页/共52页含水率试验含水率试验要求两组计算一个平均值,当两个值求平均时,差值大于规范要求时,用红色背景显示该数据第14页/共52页含水率试验含水率试验n nPrivate Sub KJSZ(ByVal Shu As Integer)Private Sub KJSZ(ByVal Shu As Integer)n nOn Error Resume NextOn Error Resume Nextn nDim i As IntegerDim i
13、 As Integern nIf Shu=10 ThenIf Shu=10 Thenn nText55.BackColor=vbRedText55.BackColor=vbRedn nText55=Text55=加载的试验组数过多,本程序暂时不能处理加载的试验组数过多,本程序暂时不能处理 n nExit SubExit Subn nEnd IfEnd Ifn nIf Shu 1 And Shu 1 And Shu 1 ThenIf Val(Text54)1 Thenn nFor i=0 To Val(Text54)-1For i=0 To Val(Text54)-1n n HSmst(i)=F
14、ormat(Val(HSmhst(i)-Val(HSmh(i),#0.000)HSmst(i)=Format(Val(HSmhst(i)-Val(HSmh(i),#0.000)n n HSmgt(i)=Format(HSmhgt(i)-HSmh(i),#0.000)HSmgt(i)=Format(HSmhgt(i)-HSmh(i),#0.000)n n HSw(i)=Format(HSmhst(i)-HSmhgt(i)*100/HSmgt(i),#0.000)HSw(i)=Format(HSmhst(i)-HSmhgt(i)*100/HSmgt(i),#0.000)n nNextNextn n
15、For i=1 To Val(Text54)For i=1 To Val(Text54)n n If i Mod 2=0 Then If i Mod 2=0 Thenn n If Abs(Val(HSw(i-1)-Val(HSw(i-2)2 Then If Abs(Val(HSw(i-1)-Val(HSw(i-2)=1 And I Mod 2=1 ThenIf I=1 And I Mod 2=1 Thenn n Spreadsheet1.Cells(I+2,6)=(Spreadsheet1.Cells(I+2,5)+Spreadsheet1.Cells(I+1,5)/2 Spreadsheet
16、1.Cells(I+2,6)=(Spreadsheet1.Cells(I+2,5)+Spreadsheet1.Cells(I+1,5)/2n n n n End If End Ifn n n nNextNext第22页/共52页作业作业 1n n添加Microsoft office xp控件n n用表格法编写含水率或密度计算程序n n学习用split()和strtoshuzhu()函数把一个字符串转变成数组。n n有图的请抓图,作业可以是手写版也可以是打印版。第23页/共52页密度试验密度试验第24页/共52页 md md1 md2 md3 md4 md5 md6 md7 md8第25页/共5
17、2页加载试验组数加载试验组数n nPrivate Sub Text5_Change()n nDim i As IntegerDim i As Integern nIf Val(Text5)10 ThenIf Val(Text5)10 Thenn n MsgBox MsgBox 输入数字出错输入数字出错,vbInformation,vbInformation,请重新输入请重新输入 n n Exit Sub Exit Subn nEnd IfEnd Ifn nIIf Val(Text5)0 ThenIIf Val(Text5)0 Then 加载试验组数加载试验组数n n If Val(Text5)
18、MD1.Count ThenIf Val(Text5)MD1.Count Thenn n For i=MD1.ubound+1 To Val(Text5)-1 For i=MD1.ubound+1 To Val(Text5)-1n n Load MD1(i)Load MD1(i):Load MD2(i)Load MD2(i):Load MD3(i)Load MD3(i):Load MD4(i)Load MD4(i)n n Load MD5(i)Load MD5(i):Load MD6(i)Load MD6(i):Load MD7(i)Load MD7(i)n n Load MD8(i)Load
19、 MD8(i):MD1(i)=i+1MD1(i)=i+1:MD2(i)=423+i MD2(i)=423+i 动态加载控件时,每个控件的index属性设置为0第26页/共52页加载控件,控件显示位置加载控件,控件显示位置n nMD1(i).Top=MD1(i-1).Top+350 加载后的控件位加载后的控件位置置n n MD2(i).Top=MD2(i-1).Top+350n n MD3(i).Top=MD1(i-1).Top+350MD3(i).Top=MD1(i-1).Top+350nn MD4(i).Top=MD2(i-1).Top+350 MD4(i).Top=MD2(i-1).Top
20、+350nn MD5(i).Top=MD1(i-1).Top+350 MD5(i).Top=MD1(i-1).Top+350nn MD6(i).Top=MD2(i-1).Top+350 MD6(i).Top=MD2(i-1).Top+350nn MD7(i).Top=MD1(i-1).Top+350 MD7(i).Top=MD1(i-1).Top+350nn MD8(i).Top=MD2(i-1).Top+350 MD8(i).Top=MD2(i-1).Top+350第27页/共52页让控件显示在窗体上让控件显示在窗体上n nMD1(i).Visible=True 显示加载后的控件显示加载后的
21、控件n n MD2(i).Visible=Truen n MD3(i).Visible=TrueMD3(i).Visible=Truenn MD4(i).Visible=True MD4(i).Visible=Truenn MD5(i).Visible=True MD5(i).Visible=Truenn MD6(i).Visible=True MD6(i).Visible=Truenn MD7(i).Visible=True MD7(i).Visible=Truenn MD8(i).Visible=True MD8(i).Visible=Truen nNext第28页/共52页当界面上的控件
22、当界面上的控件多时,控件的卸多时,控件的卸载载n n ElseIf Val(Text5)MD1.Count Then ElseIf Val(Text5)0 Then If i 0 Thenn n Unload MD1(i)Unload MD1(i)nn Unload MD2(i)Unload MD2(i):Unload MD3(i)Unload MD3(i):Unload MD4(i)Unload MD4(i)nn Unload MD5(i)Unload MD5(i):Unload MD6(i)Unload MD6(i):Unload MD7(i)Unload MD7(i)nn Unload
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 维插值 算法 实现
限制150内