資源描述:
《高中信息技術(shù)選修一解析法窮舉法.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第三章算法的程序?qū)崿F(xiàn)一、解析法、窮舉法信息技術(shù)組例1:某超市規(guī)定,顧客購(gòu)買同種商品10件以上(含10件)可享受批發(fā)價(jià)。請(qǐng)?jiān)O(shè)計(jì)一個(gè)收款機(jī)程序,輸入顧客所購(gòu)買商品的零售價(jià)、批發(fā)價(jià)、購(gòu)買數(shù)量、及付款數(shù),計(jì)算出顧客的應(yīng)付款及找零。變量分析:數(shù)學(xué)模型:應(yīng)付款=找零=付款-應(yīng)付款零售價(jià)*數(shù)量,當(dāng)數(shù)量<10批發(fā)價(jià)*數(shù)量,當(dāng)數(shù)量>=10解析表達(dá)式程序代碼:PrivateSubCommand1_Click()零售價(jià)=Val(InputBox("輸入零售價(jià):"))批發(fā)價(jià)=Val(InputBox("輸入批發(fā)價(jià):"))數(shù)量=Val(InputBox("輸入購(gòu)買數(shù)量:"))付款=Val(In
2、putBox("輸入付款數(shù):"))If數(shù)量<10Then應(yīng)付款=零售價(jià)*數(shù)量Else___________________EndIf_____________________Print"應(yīng)付款:",應(yīng)付款Print"找零",找零EndSub應(yīng)付款=批發(fā)價(jià)*數(shù)量找零=付款-應(yīng)付款解析法:就是在分析具體問(wèn)題的基礎(chǔ)上,抽取出一個(gè)數(shù)學(xué)模型,這個(gè)數(shù)學(xué)模型能用若干解析表達(dá)式表示出來(lái),解決了這些表達(dá)式,問(wèn)題也就得以解決。用解析法解決問(wèn)題的關(guān)鍵是尋找_______。解析表達(dá)式練習(xí):已有的研究成果表明,海拔每升高100米,年平均氣溫降低0.5℃。編寫(xiě)程序輸入山下的氣溫及山頂?shù)南鄬?duì)海拔高度,
3、輸出山頂?shù)臍鉁?。PrivateSubCommand1_Click()t0=Val(InputBox(“輸入山下的氣溫:"))h=Val(InputBox(“輸入山頂?shù)南鄬?duì)海拔高度:"))t=_______________Print“山頂?shù)臍鉁貫椋?,tEndSubt0-h/100*0.5PrivateSubCommand1_Click()Constpi=3.14159265DimiAsInteger,jAsIntegerDimx1AsSingle,y1AsSingleDimx2AsSingle,y2AsSingleDimaAsSingleDimrAsSingleDimno
4、desAsIntegerPicture1.Scale(-1.5,1.5)-(1.5,-1.5)'建立坐標(biāo)系Picture1.Clsr=1nodes=15a=2*pi/nodes'弧度數(shù)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'畫(huà)線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例:韓信點(diǎn)兵今有物不知其數(shù),三三數(shù)之余二,五五數(shù)之余三,七七數(shù)之余二,問(wèn)物幾何?求符合條件的最小的數(shù)。嘗試用解析法解決:xmod3=
6、2xmod5=3xmod7=2采取從小到大一一嘗試的辦法。很難得到有效的解析式。窮舉法窮舉法解韓信點(diǎn)兵問(wèn)題: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窮舉法:(枚舉法、列舉法)將求解對(duì)象一一列舉出來(lái),然后逐一加以分析、處理,并驗(yàn)證結(jié)果是否滿足給定的條件,窮舉完所有對(duì)象,問(wèn)題最終得以解決。注意判斷窮舉的范圍和條件。練習(xí):水仙花數(shù)水仙花是指一個(gè)
7、三位數(shù),它的各個(gè)位數(shù)的立方和正好等于該數(shù)本身。如:153=1^3+5^3+3^3求所有的水仙花數(shù)。分析:可能的數(shù)的范圍是_________數(shù)x(abc)需要滿足的關(guān)系式是_____________________100~999a^3+b^3+c^3=xForx=100To999a=x100b=(xMod100)10c=xMod10Ifx=a^3+b^3+c^3ThenPrintxEndIfNextx水仙花數(shù)解法二:X(abc)PrivateSubCommand2_Click()Fora=1To9Forb=0To9Forc=