高中信息技术选修一解析法穷举法课件.ppt

上传人:wuy****n92 文档编号:88416976 上传时间:2023-04-26 格式:PPT 页数:15 大小:267.49KB
返回 下载 相关 举报
高中信息技术选修一解析法穷举法课件.ppt_第1页
第1页 / 共15页
高中信息技术选修一解析法穷举法课件.ppt_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《高中信息技术选修一解析法穷举法课件.ppt》由会员分享,可在线阅读,更多相关《高中信息技术选修一解析法穷举法课件.ppt(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第三章第三章 算法的程序实现算法的程序实现一、解析法、穷举法一、解析法、穷举法信息技术组例例例例1 1:某超市规定,顾客购买同种商品:某超市规定,顾客购买同种商品:某超市规定,顾客购买同种商品:某超市规定,顾客购买同种商品1010件以上(含件以上(含件以上(含件以上(含1010件)件)件)件)可享受批发价。请设计一个收款机程序,输入顾客所购买商可享受批发价。请设计一个收款机程序,输入顾客所购买商可享受批发价。请设计一个收款机程序,输入顾客所购买商可享受批发价。请设计一个收款机程序,输入顾客所购买商品的零售价、批发价、购买数量、及付款数,计算出顾客的品的零售价、批发价、购买数量、及付款数,计算出

2、顾客的品的零售价、批发价、购买数量、及付款数,计算出顾客的品的零售价、批发价、购买数量、及付款数,计算出顾客的应付款及找零。应付款及找零。应付款及找零。应付款及找零。变量分析:变量分析:数学模型:数学模型:应付款应付款 找零付款应付款找零付款应付款零售价*数量,当数量=10解析表达式解析表达式程序代码:程序代码:程序代码:程序代码:Private Sub Command1_Click()Private Sub Command1_Click()零售价零售价=Val(InputBox(=Val(InputBox(输入零售价:输入零售价:)批发价批发价=Val(InputBox(=Val(Input

3、Box(输入批发价:输入批发价:)数量数量=Val(InputBox(=Val(InputBox(输入购买数量:输入购买数量:)付款付款=Val(InputBox(=Val(InputBox(输入付款数:输入付款数:)If If 数量数量 10 Then 10 Then 应付款应付款=零售价零售价*数量数量ElseElse _ _End IfEnd If _ _Print Print 应付款:应付款:,应付款应付款Print Print 找零找零,找零找零End SubEnd Sub应付款应付款=批发价批发价 *数量数量找零找零=付款付款-应付款应付款解析法:解析法:就是在分析具体问题的基础上

4、,抽取出一个就是在分析具体问题的基础上,抽取出一个数学模型数学模型数学模型数学模型,这个数学模型能用若干,这个数学模型能用若干解析表达解析表达解析表达解析表达式式式式表示出来,解决了这些表达式,问题也就表示出来,解决了这些表达式,问题也就得以解决。得以解决。用解析法解决问题的用解析法解决问题的关键关键关键关键是寻找是寻找_。解析表达式解析表达式练习:已有的研究成果表明,海拔每升高练习:已有的研究成果表明,海拔每升高练习:已有的研究成果表明,海拔每升高练习:已有的研究成果表明,海拔每升高100100米,年米,年米,年米,年平均气温降低平均气温降低平均气温降低平均气温降低0.50.5。编写程序输入

5、山下的气温及山。编写程序输入山下的气温及山。编写程序输入山下的气温及山。编写程序输入山下的气温及山顶的相对海拔高度,输出山顶的气温。顶的相对海拔高度,输出山顶的气温。顶的相对海拔高度,输出山顶的气温。顶的相对海拔高度,输出山顶的气温。Private Sub Command1_Click()Private Sub Command1_Click()t t0 0=Val(InputBox(“=Val(InputBox(“输入山下的气温:输入山下的气温:)h=Val(InputBox(“h=Val(InputBox(“输入山顶的相对海拔高度:输入山顶的相对海拔高度:)t=_t=_ Print“Prin

6、t“山顶的气温为:山顶的气温为:,t,tEnd SubEnd Subt0-h/100*0.5Private Sub Command1_Click()Const pi=3.14159265Dim i As Integer,j As IntegerDim x1 As Single,y1 As SingleDim x2 As Single,y2 As SingleDim a As SingleDim r As SingleDim nodes As IntegerPicture1.Scale(-1.5,1.5)-(1.5,-1.5)建立坐标系Picture1.Clsr=1nodes=15a=2*pi/

7、nodes 弧度数For i=1 To nodes 枚举 求(x1,y1)x1=r*Cos(a*i)y1=r*Sin(a*i)For j=1 To nodes 枚举 求(x2,y2)If i j Then x2=r*Cos(a*j)y2=r*Sin(a*j)Picture1.Line(x1,y1)-(x2,y2),vbBlue 画线 End If Next jNext iEnd Sub注意:需要添加picture1和command1程序代码:程序代码:Private Sub Command1_Click()Private Sub Command1_Click()a1=Val(Text1.Tex

8、t)a1=Val(Text1.Text)b1=Val(Text2.Text)b1=Val(Text2.Text)c1=Val(Text3.Text)c1=Val(Text3.Text)a2=Val(Text4.Text)a2=Val(Text4.Text)b2=Val(Text5.Text)b2=Val(Text5.Text)c2=Val(Text6.Text)c2=Val(Text6.Text)x=(c2-b2*c1)/(a2-a1*b2/b1)x=(c2-b2*c1)/(a2-a1*b2/b1)y=(c1-a1*x)/b1 y=(c1-a1*x)/b1 Label5.Caption=X=&

9、x Label5.Caption=X=&x Label6.Caption=Y=&y Label6.Caption=Y=&y End SubEnd Sub例:韩信点兵例:韩信点兵今有物不知其数,三三数之余二,五五数之余三,七七数之余二,问物几何?求符合条件的最小的数。尝试用尝试用解析法解析法解决:解决:x mod 3=2 x mod 3=2 x mod 5=3 x mod 5=3 x mod 7=2 x mod 7=2 采取从小到大一一尝试的办法。采取从小到大一一尝试的办法。很难得到有效的解析式。穷举法穷举法解韩信点兵问题:穷举法解韩信点兵问题:Private Sub Command1_Clic

10、k()Private Sub Command1_Click()i=0i=0DoDo i=i+1i=i+1Loop Until Loop Until(i Mod 3=2)And(i Mod 5=3)And(i Mod 7=2)(i Mod 3=2)And(i Mod 5=3)And(i Mod 7=2)Print iPrint iEnd SubEnd Sub穷举范围?穷举范围?条件?条件?Not(Not(i Mod 3=2)And(i Mod 5=3)And(i Mod 7=2)(i Mod 3=2)And(i Mod 5=3)And(i Mod 7=2)1x1x穷举法:(枚举法、列举法)穷举法

11、:(枚举法、列举法)将求解对象一一列举出来,然后逐一加以分将求解对象一一列举出来,然后逐一加以分析、处理,并验证结果是否满足给定的条件,析、处理,并验证结果是否满足给定的条件,穷举完所有对象,问题最终得以解决。穷举完所有对象,问题最终得以解决。注意判断穷举的注意判断穷举的范围范围和和条件条件。练习:水仙花数练习:水仙花数水仙花是指一个三位数,它的各个位数的立方和正好等于该数本身。如:153=13+53+33求所有的水仙花数。分析:可能的数的范围是_数x(abc)需要满足的关系式是_100999a3+b3+c3=xFor x=100 To 999 a=x 100 b=(x Mod 100)10

12、c=x Mod 10 If x=a 3+b 3+c 3 Then Print x End IfNext x水仙花数解法二:水仙花数解法二:X(abc)Private Sub Command2_Click()For a=1 To 9 For b=0 To 9 For c=0 To 9 If a*100+b*10+c=a 3+b 3+c 3 Then Print a*100+b*10+c End If Next c Next b Next aEnd Sub1 1、求解二元一次方程组。、求解二元一次方程组。、求解二元一次方程组。、求解二元一次方程组。a1*x+b1*y=c1 a2*x+b2*y=c2

13、x=(c2-b2*c1)/(a2-a1*b2/b1)y=(c1-a1*x)/b1达标练习:判断用解析法还是穷举法。达标练习:判断用解析法还是穷举法。解析法解析法x,yx,y为实数,无法枚举。为实数,无法枚举。穷举法?穷举法?2 2、百钱百鸡问题:、百钱百鸡问题:“公鸡五文钱一只,母鸡三文公鸡五文钱一只,母鸡三文钱一只,小鸡一文钱三只钱一只,小鸡一文钱三只”,一百文钱买一百只,一百文钱买一百只鸡,问买公鸡、母鸡、小鸡各多少只?鸡,问买公鸡、母鸡、小鸡各多少只?分析:分析:x+y+z=100 x+y+z=1005x+3y+z/3=1005x+3y+z/3=100Private Sub Command1_Click()For x=1 To 20 For y=1 To 33 z=100-x-y If x*5+y*3+z/3=100 Then Print x,y,z End If Next yNext xEnd Sub达标练习:判断用解析法还是穷举法。达标练习:判断用解析法还是穷举法。穷举法穷举法小结:穷举法的适用范围小结:穷举法的适用范围求解对象是_(有限/无限)的;_(可/不可)按规则列举。一元二次方程求根_(可/不可)用穷举法。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁