zoukankan      html  css  js  c++  java
  • VB 积分 from baidu

    Private Sub Command1_Click()
        Dim 下限 As Single, 上限 As Single, 允许误差 As Single, 实际误差 As Single, 分条 As Integer
        下限 = Val(InputBox("请输入积分下限"))
        上限 = Val(InputBox("请输入积分上限"))
        If 下限 > 上限 Then
            MsgBox "下限高于上限。怀疑输入手误。程序自动交换"
            t = 下限
            下限 = 上限
            上限 = t
        End If
        允许误差 = Val(InputBox("请输入允许误差"))
        Print "积分下限:"; 下限
        Print "积分上限:"; 上限
        Print "允许误差为:"; 允许误差
        Print "积分结果为:"; 积分(下限, 上限, 允许误差, 实际误差, 分条)
        Print "划分梯形个数:"; 分条
        Print "截断误差为:"; 实际误差
    End Sub
    Private Function 积分(下限 As Single, 上限 As Single, 误差要求 As Single, 误差 As Single, 块数 As Integer)
        Dim p As Single
        块数 = 2
        积分值 = 0
        步长 = (上限 - 下限) / 块数
        p = 函数(下限) + 函数(上限)
        d = 函数(下限 + 步长)
        Do
            s = (p + 4 * d) * 步长 / 3
            误差 = Abs(s - 积分值)
            If 误差 <= 误差要求 And 块数 > 100 Then Exit Do
            块数 = 块数 * 2
            步长 = (上限 - 下限) / 块数
            积分值 = s
            p = p + 2 * d
            d = 0
            For i = 1 To 块数 - 1 Step 2
                d = d + 函数(下限 + i * 步长)
            Next i
        Loop
        积分 = s
    End Function

    Private Function 函数(自变量 As Single) '这个函数的内容是要你自己修改的
        函数 = 自变量 * 自变量
    End Function

  • 相关阅读:
    【转】探秘Java中的String、StringBuilder以及StringBuffer
    【转】深入剖析Java中的装箱和拆箱
    谈谈我对多态的理解
    mysql组合索引之最左原则
    白衣浅谈各个集合的特性
    Linux 下的两个特殊的文件 -- /dev/null 和 /dev/zero 简介及对比
    内网穿透工具的原理与开发实战
    nohup命令说明-转载
    springboot 启动jar正确方式
    maven版本仲裁原则
  • 原文地址:https://www.cnblogs.com/gosteps/p/2954884.html
Copyright © 2011-2022 走看看