欢迎来到天天文库
浏览记录
ID:52531671
大小:366.87 KB
页数:15页
时间:2020-04-09
《高中信息技术选修一解析法穷举法.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章算法的程序实现一、解析法、穷举法信息技术组例1:某超市规定,顾客购买同种商品10件以上(含10件)可享受批发价。请设计一个收款机程序,输入顾客所购买商品的零售价、批发价、购买数量、及付款数,计算出顾客的应付款及找零。变量分析:数学模型:应付款=找零=付款-应付款零售价*数量,当数量<10批发价*数量,当数量>=10解析表达式程序代码:PrivateSubCommand1_Click()零售价=Val(InputBox("输入零售价:"))批发价=Val(InputBox("输入批发价:"))数量=Val(InputBox("输入购买数量:"))付款=Val(In
2、putBox("输入付款数:"))If数量<10Then应付款=零售价*数量Else___________________EndIf_____________________Print"应付款:",应付款Print"找零",找零EndSub应付款=批发价*数量找零=付款-应付款解析法:就是在分析具体问题的基础上,抽取出一个数学模型,这个数学模型能用若干解析表达式表示出来,解决了这些表达式,问题也就得以解决。用解析法解决问题的关键是寻找_______。解析表达式练习:已有的研究成果表明,海拔每升高100米,年平均气温降低0.5℃。编写程序输入山下的气温及山顶的相对海拔高度,
3、输出山顶的气温。PrivateSubCommand1_Click()t0=Val(InputBox(“输入山下的气温:"))h=Val(InputBox(“输入山顶的相对海拔高度:"))t=_______________Print“山顶的气温为:",tEndSubt0-h/100*0.5PrivateSubCommand1_Click()Constpi=3.14159265DimiAsInteger,jAsIntegerDimx1AsSingle,y1AsSingleDimx2AsSingle,y2AsSingleDimaAsSingleDimrAsSingleDimno
4、desAsIntegerPicture1.Scale(-1.5,1.5)-(1.5,-1.5)'建立坐标系Picture1.Clsr=1nodes=15a=2*pi/nodes'弧度数Fori=1Tonodes'枚举求(x1,y1)x1=r*Cos(a*i)y1=r*Sin(a*i)Forj=1Tonodes'枚举求(x2,y2)Ifi<>jThenx2=r*Cos(a*j)y2=r*Sin(a*j)Picture1.Line(x1,y1)-(x2,y2),vbBlue'画线EndIfNextjNextiEndSub注意:需要添加picture1和command1程序代码
5、:PrivateSubCommand1_Click()a1=Val(Text1.Text)b1=Val(Text2.Text)c1=Val(Text3.Text)a2=Val(Text4.Text)b2=Val(Text5.Text)c2=Val(Text6.Text)x=(c2-b2*c1)/(a2-a1*b2/b1)y=(c1-a1*x)/b1Label5.Caption="X="&xLabel6.Caption="Y="&yEndSub例:韩信点兵今有物不知其数,三三数之余二,五五数之余三,七七数之余二,问物几何?求符合条件的最小的数。尝试用解析法解决:xmod3=
6、2xmod5=3xmod7=2采取从小到大一一尝试的办法。很难得到有效的解析式。穷举法穷举法解韩信点兵问题:PrivateSubCommand1_Click()i=0Doi=i+1LoopUntil(iMod3=2)And(iMod5=3)And(iMod7=2)PrintiEndSub穷举范围?条件?Not((iMod3=2)And(iMod5=3)And(iMod7=2))1~x穷举法:(枚举法、列举法)将求解对象一一列举出来,然后逐一加以分析、处理,并验证结果是否满足给定的条件,穷举完所有对象,问题最终得以解决。注意判断穷举的范围和条件。练习:水仙花数水仙花是指一个
7、三位数,它的各个位数的立方和正好等于该数本身。如:153=1^3+5^3+3^3求所有的水仙花数。分析:可能的数的范围是_________数x(abc)需要满足的关系式是_____________________100~999a^3+b^3+c^3=xForx=100To999a=x100b=(xMod100)10c=xMod10Ifx=a^3+b^3+c^3ThenPrintxEndIfNextx水仙花数解法二:X(abc)PrivateSubCommand2_Click()Fora=1To9Forb=0To9Forc=
此文档下载收益归作者所有