复习一基本算法实例.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基本算法实例教学复习篇 解析算法 概念 解析算法:是指用 解析 的方法找出表示问题的前提条件和结果之间关系的 数学表达式 ,并通过表达式的计算来实现问题的求解。 特点: 找出正确的数学表达式 ,在程序设计时,表达为 计算机表达式(算法表达式) 。 例题: 1)、输入直角三角形的两个直角边的边长a和b,计算出斜边的长度。 数学表达式: 计算机表达式: c=sqr(a^2+b^2) VB程序填空: Dim a As Double, b As Double, c As Double a = (InputBox(“请输入直角三角形的一直角边长:”)) b = (InputBox(“请输入直角三角形的另一直角边长:")) c = sqr(a^2+b^2) ’c为斜边长的变量 Print C_ 此解析算法应用了算法的 顺序 结构 2)、将n个电阻并联,计算n个并联电阻的总阻值。 数学表达式: 计算机表达式: 1/rs=1/R1+1/R2+……+1/Rn VB程序填空: Dim r As Double , rs As Double r = Val(InputBox("输入电阻阻值(输入0表示结束:")) rs = 0 ’rs是求解1/R1+1/R2+……+1/Rn的和的变量 Do While r< > 0 rs= rs+1/r r= _ Val(InputBox("输入电阻阻值(输入0表示结束:")) Loop Print “并联电阻的总电阻值为:” & Str(1 / rs) 此解析算法应用了算法的 循环 结构 3)、数学中的一元二次方程ax2+bx+c=0,现已知系数a、b、c,求方程的解x(已知d=b2-4ac) 1)a=0, 不满足一元二次方程 2)a<>0,d>0,有两个不等的根: 数学表达式: x1= ,x2= 计算机表达式: x1= (-b+sqr(d)) / (2*a),x2= (-b-sqr(d)) / (2*a) 3)a<>0,d=0,有两个相等的根: 数学表达式: x= 计算机表达式:x= -b / (2*a) 4)a<>0,d<0,方程无根(假设没有虚根) VB程序填空: Dim a As Double, b As Double , c As Double, d As Double, x1 As Double, x2 As Double a = Val(InputBox("输入一元二次方程的系数a:")) b = Val(InputBox("输入一元二次方程的系数b:")) c = Val(InputBox("输入一元二次方程的系数c:")) d = b ^ 2 - 4 * a * c If a = 0 Then Print "不是一元二次方程" Else If d<0 Then Print "此一元二次方程无解" Else If d=0 Then x1= -b/(2*a) Print “此一元二次方程有两个相等的根” ;x1 Else x1 = (-b+sqr(d)) / (2*a) x2 =(-b-sqr(d)) / (2*a) Print "x1="; x1, "x2="; x2 End If End If End if 此解析算法应用了算法的 多重分支结构 结构 总结: 设计解析算法的关键是:寻找正确的数学表达式 解析算法的结构可能是 顺序 结构,也可能是 分支 或 循环 结构,甚至是 几种结构 的组合。 枚举算法 概念 枚举算法:按问题本身的性质,一一( 列举 )该问题所有

文档评论(0)

dashewan + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档