資源簡介 教學設(shè)計課程基本信息課題 5.2 迭 代 與 遞 歸 (一)迭 代教學目標1. 啟發(fā)理解迭代的算法思想。。 2. 引導能合理選用數(shù)據(jù)結(jié)構(gòu),理清迭代初值,迭代式及結(jié)束迭代。 3. 通過實例的形式用自然語言、流程圖、Python語言描述迭代算法。 4. 引導學生分析分析迭代算法的效率高低。 5. 引導學生熟練應(yīng)用迭代算法,解決生活、學習中的問題。教學內(nèi)容教學重點: 1.迭代初值,迭代式及結(jié)束迭代條件。2.熟練應(yīng)用迭代算法,解決生活、學習中的問題。教學難點: 熟練應(yīng)用迭代算法,解決生活、學習中的問題。教學過程一、認識本節(jié)課的學習目標,自學教材內(nèi)容。 二、情境導入:兔子有多少對? 意大利數(shù)學家裴波那契(L.Fibonacci)在他的1228年版的《算經(jīng)》一書中記述了有趣的兔子問題:假定我們有一雄一雌一對剛出生的兔子,它們在長到一個月大小時開始懷孕(自然狀態(tài)是六個月左右),在第二月結(jié)束時,雌兔子產(chǎn)下另一對兔子,過了一個月后它們也開始繁殖,如此這般持續(xù)下去。每只雌兔在開始繁殖后每月都產(chǎn)下一對兔子,假定沒有兔子死亡,在一年后總共有多少對兔子? 三、裴波那契數(shù)列:1、規(guī)律2、程序?qū)崿F(xiàn)兩種方法 四、迭代算法 1、概念 迭代是重復反饋的活動,其目的通常是為了使結(jié)果符合目標需求。 讓計算機重復執(zhí)行一組指令(或步驟),這組指令(或步驟)每執(zhí)行一次時,都會讓變量從原值遞推出一個新值。 2、迭代算法三個方面: (1)確定迭代變量: 一個直接或間接地不斷由舊值遞推出新值的變量; (2)建立迭代關(guān)系:將變量從前一個值推出其下一個值的公式(或關(guān)系); (3)控制迭代過程:設(shè)定迭代結(jié)束的條件。 五、迭代法求a的平方根 (一)基本思路:先估測一個近似值x,然后不斷令x等于x和 / 的平均數(shù)(迭代公式為: _( +1)= 1/2( _ + / _ ) (n≥0)),經(jīng)過若干次迭代后,x的值將逐漸接近a的平方根(當 _( +1) 與 _ 值無限接近時,可看作 _( +1) = _ ,則公式 _( +1)= 1/2( _ + / _ ) 可以化簡為〖 _( +1)〗^2= , _( +1) 就是a的平方根) (1)抽象建模(2)設(shè)計算法(3)編寫程序并調(diào)試 (二)影響迭代算法的因素 初始值不同終止條件的設(shè)置 六、課堂小練: 1.完善劃線處代碼 2.程序設(shè)計并調(diào)試 七、生活實戰(zhàn)應(yīng)用:秋游安排車輛 某班家委會根據(jù)參加秋游的同學到達指定上車點時間和每位同學可以等待的時間信息,安排車輛接送參加秋游活動同學去秋游點白云山腳(考慮車子座位數(shù)量<=4人)。參加秋游活動同學到達上車點的時間和可以等待的時間用長度為7的字符串表示,例如out.txt中第一行“ 08:11 4 xixi”表示xixi同學當天8點11分到達上車點,最多等待4分鐘(每個同學的等待時間都小于10),那么最晚8點23分出發(fā)去秋游點(若8點23分剛到的同學也一同出發(fā))。編寫 Python 程序,統(tǒng)計接送n個參加秋游活動同學所需的最少車輛數(shù)。運行程序,顯示所有同學提交的信息,數(shù)據(jù)已經(jīng)按到達時間先后排列,程序運行結(jié)果顯示所需的最少車輛數(shù)。 八、課堂小結(jié) 九、自我評價 對自己的表現(xiàn)進行客觀的評價,并思考后續(xù)完善的方向。(3=優(yōu)秀,2=一般,1=仍需加油) 評分項自我評價能計算兔子對數(shù)問題并總結(jié)迭代算法的基本思想 3 2 1掌握迭代算法的三要素 3 2 1能自主學習教材并用自然語言、流程圖描述迭代算法 3 2 1能夠用Python語言描述迭代算法 3 2 1能夠編程實現(xiàn)牛頓迭代法求根 3 2 1能理解牛頓迭代法的數(shù)學原理、注意事項能用迭代算法完成學習、生活中的應(yīng)用十、課后作業(yè) 1. 操作系統(tǒng)從win xp、win7、win10……,不斷更新過程可以看出,一款產(chǎn)品是不斷試錯,不斷根據(jù)用戶體驗反饋,快速調(diào)整和完善得到的。這個例子體現(xiàn)的算法思想是 ( ) A.枚舉 B.迭代 C.解析 D.遞歸2. 利用迭代算法處理問題,需要考慮以下三個方面: ①確定迭代變量:一個直接或間接地不斷由舊值遞推出新值的變量; ② :將變量從前一個值推出其下一個值的公式(或關(guān)系); ③控制迭代過程:設(shè)定迭代結(jié)束的條件。 3.在程序劃線處填空題:圓周率其實就是一個圓周長與直徑的比值我們通常用希臘字母π表示,其中用萊布尼茨公式是這樣的: 小新用迭代法編寫了一個Python程序用于求圓周率Pi,請完善程序(精確到小數(shù)點后6位)。 i=1;s=0;k=1 ans=0 while ① : ans+=1 s+=k*1/i i+=2 ② print("pi=",s*4) print(迭代次數(shù):",ans) 若要精確到小數(shù)點后8位,①空如何填寫? 作業(yè)答案:1. B2. 建立迭代關(guān)系式3.(1) 1/i>=0.000001 (2) k=-k 1/i>=0.000000001 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫