43非數(shù)值計算教學(xué)設(shè)計-教科版高中信息技術(shù)必修一第四單元_第1頁
43非數(shù)值計算教學(xué)設(shè)計-教科版高中信息技術(shù)必修一第四單元_第2頁
43非數(shù)值計算教學(xué)設(shè)計-教科版高中信息技術(shù)必修一第四單元_第3頁
43非數(shù)值計算教學(xué)設(shè)計-教科版高中信息技術(shù)必修一第四單元_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

教學(xué)設(shè)計太倉市明德高級中學(xué)趙斌課題非數(shù)值計算教學(xué)目標(biāo)1.運用合適的算法形成解決問題的方案2.了解算法中的分治思想,運用二分法查找來解決實際問題

3.體驗遞歸算法,結(jié)合具體問題進(jìn)行編程實踐。教學(xué)內(nèi)容教學(xué)重點:1.在實際問題解決過程中理解分治思想

2.掌握二分法和遞歸法的原理

教學(xué)難點:1.理解二分法和遞歸法并嘗試解決實際問題

2.正確分析問題并形成與之匹配的問題解決的方案教學(xué)過程一、課堂導(dǎo)入:展示流程圖如下:引導(dǎo)學(xué)生分析,描述該流程圖實現(xiàn)的功能是:(猜數(shù)字)。從讀流程圖的過程中了解學(xué)生對計算機解決問題的過程的認(rèn)知情況,為后續(xù)課堂開展做好鋪墊。語句1:cai==num語句2:cai<num(請學(xué)生上臺將判斷語句拖放在正確的目標(biāo)區(qū)域,完善流程圖后能正確實現(xiàn)所需的功能)二、二分法學(xué)習(xí)1.執(zhí)行“while循環(huán)猜數(shù)字.py”程序,嘗試猜數(shù)字游戲,觀察游戲過程,進(jìn)一步理解導(dǎo)入中的流程圖所描述的問題解決過程,根據(jù)學(xué)生的運行情況,引導(dǎo)應(yīng)用二分法來完成數(shù)字游戲。(程序代碼如下)'''猜數(shù)字游戲,隨機生成1到10之間的數(shù)字(含1和10000),每次輸入一個數(shù)字,如果與隨機生成的數(shù)字相同,則退出,否則重新輸入,輸入1表示退出游戲。'''importrandomjznum=random.randint(1,10000)normal=True#設(shè)置條件的初始值count=0whilenormal:number=int(input("請輸入你要猜的數(shù)字[1,10000],退出程序請輸入1\n"))ifnumber==1:normal=False#設(shè)置條件的值,使得退出循環(huán)print("程序已退出,游戲結(jié)束")ifnumber==jznum:count+=1print("你猜中了,本次數(shù)字為:",number,"猜了:",count,"次","本次游戲結(jié)束,程序?qū)⑼顺?)print("游戲結(jié)束")normal=Falseelse:ifnumber>jznum:count+=1print("你猜了:",count,"次","大了,請繼續(xù)猜")else:count+=1print("你猜了:",count,"次","小了,請繼續(xù)猜")input("回車可退出程序")2.執(zhí)行“循環(huán)猜數(shù)字提示過程.py”,理解并描述二分法的運行思路。(程序如下)在“while循環(huán)猜數(shù)字.py程序中,”,將提示語句修改為加粗部分語句。ifnumber>jznum:count+=1maxnum=numberprint("你猜了:",count,"次","大了,請繼續(xù),建議猜",math.ceil((minnum+maxnum)/2))#表示向上取整else:minnum=numbercount+=1print("你猜了:",count,"次","小了,請繼續(xù),建議猜",math.ceil((minnum+maxnum)/2))引導(dǎo)學(xué)生思考二分法的設(shè)計四步驟:1.確定查找區(qū)間的左側(cè)邊界和右側(cè)邊界minnum=1maxnum=100002.尋找中間數(shù)number=math.ceil((minnum+maxnum)/2)在這個實現(xiàn)過程中使用了math數(shù)學(xué)庫中向上取整函數(shù)ceil,使得求得的中間數(shù)有一個規(guī)律性的處理。3.中間數(shù)和目標(biāo)數(shù)進(jìn)行比較,以確定下一步的查找區(qū)域ifnumber>jznum:#jznum是隨機產(chǎn)生的讓用戶去猜測的數(shù)maxnum=number#右邊界左移else:minnum=number#左邊界右移4.重復(fù)上述的2、3步驟,直到找到目標(biāo)數(shù)以上四個步驟歸納后就是二分法的運行思路和設(shè)計技巧,在實際應(yīng)用的過程中,我們還要做臨界點的處理。課堂練習(xí):在網(wǎng)站中完成“翻頁游戲”程序調(diào)試,觀察學(xué)生表現(xiàn)。三、遞歸法學(xué)習(xí)(請學(xué)生上臺在課件中嘗試選擇游戲步驟,完成將木塊從A搬到C,且最底層最大)具體實施過程如下圖所示ABCABCABCABCABCABCABCABC當(dāng)要解決的問題具有一定的關(guān)系,我們可以用遞歸的形式來解決問題。思路描述:從整體上來看問題,找出關(guān)系,找出最小的解決方案。運用Python自定義函數(shù)的形式,進(jìn)行遞歸法的設(shè)計。在網(wǎng)站中完成“爬樓梯”程序調(diào)試,觀察學(xué)生表現(xiàn)。情境描述:(日常爬樓梯)每天來機房上課,學(xué)生需要走很多樓梯,有的學(xué)生一步一個臺階,有的學(xué)生一步兩個臺階,以此生活情境為案例,寫出爬樓梯的遞歸程序,看在一定樓梯數(shù)量的前提下,如果獲取實施方案的數(shù)量。defplt(n):ifn==1:return1elifn==2:return2else:returnplt(n1)+plt(n2)n=int(input("請輸入樓梯階數(shù):"))print("方案數(shù):",plt(n))四、策略依據(jù)孫子兵法有云:“凡治眾如治寡,分?jǐn)?shù)是也?!蔽覀兛匆粋€問題,如果一時難以解決,不妨分割

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論