- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
枚举算法回顾 枚举法也称为穷举法。 基本思想:按照问题要求确定问题解的大致范围,然后在此范围内对这些解进行一一列举,再对当前列举出的解进行是否满足问题要求的判断,最后把符合要求的解输出,直到所有可能解全部列举完毕。 例1、铁路托运行李 根据行李的重量按下列标准收费: 若不超过50千克,按每千克0.35元收费,若超过50千克,超过部分则按每千克0.5元收费。行李重量不得超过150千克。 设计一个Visual Basic程序,通过输入托运行李的重量,计算并输出托运行李的费用,若超过150千克,提示“行李超重!” 分析 设x表示行李重量,y表示托运费。通过分析可以得出该问题的数学表达式为: 算法实现 Private sub command1_click() dim x as double x=val(text1.text) if x150 then text2.text=”行李超重!” elseif x50 then y=50*0.35+(x-50)*0.5 else y=0.35*x endif text2.text=str(y) end sub Dim rs as double Sub text2_click() list1.clear rs=0 text1.text= : text2.text= End sub Sub text2_keypress(keyascii as integer) dim r as double if keyascii=13 then r=val(text2.text) if r0 then rs=rs+1/r list1.additem str(r) end if text2.text= End if End sub 解析算法实战训练---门票问题 1、旅游景点门票问题。 某旅游景点门票按下列标准收费:若游客身高超过140cm,按每人全票收费;若超过110cm,但不超过140cm的按每人半票收费;身高不超过110cm的免收门票费。 设计一个Visual Basic程序,通过输入景点门票费用和游客的身高,计算并输出进入景点所需的费用。 分析: (1)设x表示景点门票费用,y表示游客的身高,z表示游客所需付的费用。通过分析可以得出该问题的数学表达式为: (2)VB界面设计 Text1输入景点门票费,text2中输入游客身高(单位cm),text3输出所需的费用。 单击Command1执行 (3)算法实现 Dim x as double,y as double,z as double X=val(text1.text) Y=val(text2.text) If y140 then Z=x ElseIf x110 then z=0.5*x Else z=0 Endif Text3.text=str(z) * * 确定范围 情况枚举 条件判断 得到真解 枚举算法模式 (1)确定问题解的可能范围,用循环结构实现。(For) (不能遗漏任何一个真正解。) (2)写出符合问题解的条件。(分支结构:IF语句) (3)程序优化。缩小搜索范围,提高效率。 何谓解析算法? 是指用解析的方法找出表示问题的前提条件与所求结果之间关系的数学表达式,并通过表达式的计算来实现问题的求解。 如: 求圆的面积,利用公式s=pi*r*r 求作匀速运动的物体的运动距离,利用公式s=vt 例题2、计算n个电阻并联后的总电阴值。 输入:n个电阻的值,当输入一个-1时,表示输入结束。 输出:总电阻值 算法分析: 1/R= 1/R1+ 1/R2+…+ 1/Rn 流程图 开始 rs置初值:rs?0 数据输入完吗? N 电阻值累加:rs?rs+1/r 输出总电阻值1/rs 结束 Rs=0? Y N 输出:无连接 Y 一、界面设计P101图5.2.1 二、程序实现P103 定义变量RS为全局变量 清空列表框list1中的内容 Keypress是对象text2的一个事件,表示按下键盘上某个键 表示按下回车键 将变量r的值加入到列表框list1中 清空文本框text2中的内容,以便输入下一个数 *
原创力文档


文档评论(0)