文档详情

数值积分vb实现.pdf

发布:2016-03-09约5.08千字共7页下载文档
文本预览下载声明
数值积分 首先建一个程序,程序结构如下(启动窗体为form1) Form1 的窗体设计如下(一个空白窗体加一个按钮控件,窗体大小下图中有) Form2 窗体设计如下(一个空白窗体,窗体大小下图中有) Form1 下的程序代码如下 注意!!!!!!!!!!!!下面程序代码中深红色 部分为VB6.0 中自带的部分。而紫红色部分 为在VB6.0 中应写在一行中,但在本文中由 于纸张限制出现分行的部分,此部分在写入 VB6.0 时应该写在一行中,否则会出现错误 Private Sub Command1_Click() Form2.Show End Sub Private Sub guocheng0() a = Val(InputBox(输入积分下限 (即“a ”), 数值积分, 0)) b = Val(InputBox(输入积分上限 (即“b ”), 数值积分, 1)) Call guocheng1 Command1.Enabled = True End Sub Private Sub form_dblclick() Form1.Cls Call guocheng0 End Sub Private Sub guocheng1() Dim n, h#, i, m, g, it, iit, p, q, v, z, qq Dim t#(), r#() n = Val(InputBox(输入积分区间划分份数的上限 (即“n 的上限”), 数值积分, 128)) ReDim t#(n) Print Tab(4); 复化梯形公式 For i = 1 To n h = (b - a) / i t(i) = TX(a, b, h, i) Next i If n = 16 Then For q = 1 To n Print Tab(4); T q =; Tab(8); t(q) Next q Else If n = 64 Then If n Mod 2 = 0 Then p = n / 2 For q = 1 To p Print Tab(4); T q =; Tab(8); t(q); Tab(30); T q + p =; Tab(34); t(q + p) Next q Else p = Fix(n / 2) For q = 1 To p Print Tab(4); T q =; Tab(8); t(q); Tab(30); T q + p =; Tab(34); t(q + p) Next q Print Tab(30); T n; =; Tab(34); t(n) End If Else If n Mod 4 = 0 Then p = n / 4 For q = 1 To p Print Tab(4); T q =; Tab(8); t(q); Tab(30); T q + p =; Tab(34); t(q + p); Tab(56); T q + 2 * p =; Tab(62); t(q + 2 * p); Tab(82); T q + 3 * p =; Tab(90); t(q + 3 * p) Next q Else p = Fix(n / 4) v = n Mod 4 z = n - 3 * (p + 1) For q = 1 To z Print Tab(4); T q =; Tab(8); t(q); Tab(30); T q + p + 1 =; Tab(34); t(q + p + 1); Tab(56); T q + 2 * p + 2 =; Tab(62); t(q + 2 * p + 2); Tab(82); T q + 3 * p + 3 =; Tab(90); t(q + 3 * p + 3) Next q For qq = z + 1 To p + 1 Print Tab(4); T qq =; Tab(8); t(qq); Tab(30); T qq + (p + 1) =; Tab(34); t(qq + p + 1); Tab(56); T qq + 2 * (p + 1) =; Tab(62); t(qq + 2 * (p + 1)) Next qq End If End If End If Print Tab(4); Romberg 公式 If n = 8 Then it = 0 For m = 1 To n g =
显示全部
相似文档