第7章节 常用算法.pptVIP

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章节 常用算法

Visual Basic程序设计教程 第7章 常用算法 第7章 常用算法 计算机能够帮助人们解决各类问题,人们事先对各类问题进行分析,确定解决问题的具体方法和步骤,再编制好一组让计算机执行的指令即程序,使计算机能够按照人们的指定步骤有效工作。这些具体的方法和步骤,就是解决问题的算法。 本章介绍算法基本概念和一些算法实例,包括: 7.1 算法的基本概念 7.2 数值计算的算法 7.3 非数值计算的算法 7.1 算法的基本概念 本节包括以下内容: 1 算法的定义 2算法的特征 3算法的设计要求 4算法的分类 5算法的复杂度 7.1 算法的基本概念 1.算法的定义 算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗的说,就是计算机解题的过程,包括需要的数据,使用的语句以及语句的结构等。 计算机程序包括两个重要方面:算法和数据结构。 7.1 算法的基本概念 2.算法的特征 一个算法应该具有以下五个重要的特征: ① 可行性 ② 确切性 ③ 有穷性 ④ 输入 ⑤ 输出 7.1 算法的基本概念 3.算法的设计要求 算法的设计要求主要有以下四点: ① 正确性 ② 可读性 ③ 健壮性 ④ 效率与低存储量的要求 7.1 算法的基本概念 4.算法的分类 根据算法解决的问题不同,算法可分为两类:数值算法和非数值算法。 数值算法是指解决数值问题的算法,科学和工程计算方面的算法都属于数值算法。 非数值算法是指解决非数值问题的算法,数据处理方面的算法都属于非数值算法。 7.1 算法的基本概念 5.算法的复杂度 算法的复杂度是对算法运算所需时间和空间的一种度量,是算法效率的度量。 当给定的问题有多种算法时,选择其中复杂度最低者,是选用算法的重要准则。 算法的复杂度有时间复杂度和空间复杂度之分。 7.2 数值计算的算法 常用的数值算法有很多,一般用于解决数学解析方法难以解决的问题,如数值积分、多项式计算、非线性方程求解等。 本节包括以下内容: 7.2.1 数值积分计算 7.2.2 非线性方程求解 7.2.1 数值积分计算 考虑积分的数学式如下: a、b分别为积分式的上限及下限,f(x)为被积函数。 从几何角度分析,求定积分就是求[a,b]区间函数下面的面积。 要求解上述的积分式,必须设定a、b和f(x),还须设定在区间[a,b]之间离散点数目n,然后选择精度不同的积分法来求解。 例7-1(界面) 【例7-1】已知被积函数为x3+2x+5,积分区间为[2,3],设计程序实现用定步长梯形积分法来求解定积分。程序运行界面如图7-1所示。 例7-1(属性设置) 程序所需各控件的属性如表7-1所示 例7-1(语句) Public Function f(ByVal x) f = x ^ 3 + 2 * x + 5 End Function Private Sub Command1_Click() Dim a As Integer, b As Integer, h As Single, sum As Single a = Val(Text1.Text) b = Val(Text2.Text) n = 30 h = (b - a) / n sum = (f(a) + f(b)) / 2 For i = 1 To n - 1 x = a + i * h sum = sum + f(x) Next Text3.Text = Str(sum * h) End Sub 7.2.2 非线性方程求解 对于非线性方程,需要应用一些算法才能求解,如二分法、迭代法等。 二分法是反复地把求解区间分为两个相等区间,然后用其中含有解的一半区间代替该区间,依此类推,得到满足精度的解。 迭代法是首先确定根的某个初始近似值;然后,将初始近似值实现逐步求精的操作,加工成满足精度要求的结果。 例7-2(界面) 【例7-2】编写程序,用二分法求方程x3-x-2=0在区间[1,2]内的一个近似解,误差不超过0.0001。程序运行界面如图7-2所示。 例7-2(属性设置) 程序所需各控件的属性如表7-2所示 例7-2(语句-1) Private Sub Command1_Click() Dim x As Single a = Val(Text1.Text) b = Val(Text2.Text) fa = (a * a - 1) * a - 2 fb = (b * b - 1) * b - 2 If fa * fb = 0 Then Text3.Text = 求解范围出错

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档