資源描述:
《枚舉解析算法》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、高一年級信息技術(shù)學(xué)科導(dǎo)學(xué)案時間2012/03/25主備人蔣宏君審核人張華娟使用人課題枚舉算法,解析算法課型新課編號20150208學(xué)習(xí)目標(biāo)1、了解枚舉、解析算法定義2、學(xué)會設(shè)計解決簡單問題的解析算法重難點(diǎn)解析算法的程序填空①什么是枚舉算法?算法思想:“一一羅列,逐個判斷”根據(jù)問題本身的性質(zhì),一一列舉出該問題所有可能的情況,并根據(jù)題FI的條件逐個做出判斷,從中挑選出符合條件的解。實(shí)現(xiàn)要點(diǎn):1、列舉、檢驗(yàn)的過程中既不遺漏也不重復(fù);2、為提高算法效益,應(yīng)盡可能縮小解的列舉范圍;3、用循環(huán)語句(通常是for)列舉所有可能的解;4、用選擇語句(通常是if)判
2、斷和選擇真正的解。舉例:1?99之間所有的素數(shù);輸入字符串中的數(shù)據(jù)字符個數(shù)等②什么是解析算法?算法思想:用解析的方法找出表示問題的前提條件和結(jié)果Z間關(guān)系的數(shù)學(xué)表達(dá)式,并通過表達(dá)式的計蘇來實(shí)現(xiàn)問題的求解。實(shí)現(xiàn)要點(diǎn):1、建立正確的數(shù)學(xué)表達(dá)式;2、將數(shù)學(xué)表達(dá)式轉(zhuǎn)換成正確的VB表達(dá)式。舉例:一元二次方程求根等1、小明制作了一款倒計時的小軟件,其功能是在textl中輸入值,點(diǎn)擊“開始倒計時”按鈕command!,開始在標(biāo)簽label1屮以秒為單位倒計時。如圖,輸入10秒,則開始顯示10,9,8……代碼如下:DimtAsLongPrivateSubComman
3、dl_Click()Timer1.Enabled=Truet=EndSubPrivateSubTimerl_Timer()Ift=0ThenMsgBoxn時間到啦!”Timer1.Enabled=ElseLabel1.Caption=”倒計時”&Str(t)&”秒“EndIfEndSub問題:①請把代碼內(nèi)進(jìn)行填空。②若要實(shí)現(xiàn)按秒計時,請對屬性框的屬性設(shè)置屬性值為2、小王的email密碼忘記了,但她得到一個很重要的信息,請你幫她盡可能的找出密碼。她得到的信息是:密碼是六位數(shù)字,前面兩位是31;密碼最后兩位數(shù)字相同;密碼能被16和46整除。程序界血如圖
4、,單擊“幫助找回密碼”按鈕cmd后,可能的密碼顯示在列表框listl中。代碼如下:PrivateSubcmd_Click()DimaAsInteger,sAsLong,bAsInteger,cAsIntegerFori=OTo9999s=310000+iIfsmod46=0andThena=sMod10b=IfThenListl.AdditemEndIfNextiEndSub①在程序運(yùn)行界面中出現(xiàn)了三種控件,它們分別屬于列表框、命令按鈕、標(biāo)簽,請你在序號后寫出其對應(yīng)的控件類型(寫出英文名):①②③②在程序運(yùn)行界面中控件①上顯示了“幫助找回密碼”字樣
5、,這是通過改變屬性的值實(shí)現(xiàn)的。③解決問題常用的算法有枚舉算法、解析算法、排序算法、查找算法等,那么從上述程序段看,解決此問題的算法是O④程序段中出現(xiàn)了“Commandl—Click”字樣,表示這是一個面向?qū)ο蟮氖录幚磉^程,這里的對象是,事件是O⑤從程序段看,這段程序結(jié)構(gòu)屬于三種基本程序結(jié)構(gòu)中的⑥完成程序填空。3、某超市打折促銷,規(guī)定如下:①購物未超過500元按原價支付;②購物超過500元但未超過1000元,超過500元部分按9折優(yōu)惠計價;③購物超過1000元但未超過1500元,超過1000元部分按8折優(yōu)惠i;卜價;④購物超過1500元但未超過30
6、00元,超過1500元部分按7折優(yōu)惠計價;⑤購物超過3000元,超過3000元部分按6折優(yōu)惠計價。xW500500VxW10001000VxW150015003000程序界面如圖所示,在〃輸入購物金額(單位:元)〃后的文本框orgtext中輸入購物金額(單
7、位:元),單擊〃實(shí)付金額計算"按鈕(Commandl)后,在"實(shí)際支付金額(單位:元)為"后的文本框cashText中輸出實(shí)付金額。解決此問題相應(yīng)的VisualBasic程序如下:PrivateSubCommand1Click()DimxAsSingle,yAsSinglex=Vai(orgtext.Text)Ifx<=500ThenElseTfElselfy二X<=Then500+(x-500)*1500Then0.9Elselfy二X<=500+5003000Then500+5000.9+0.9+(x一1000)*0.8500*0.8+(x-1
8、500)*0.7Elsey=500+500*0.9+500*0.8+1500*0.7+(x-3000)*0.6EndIf②