4.1.2自定義函數(shù)迭代法和遞歸法課件高中信息技術教科版必修一_第1頁
4.1.2自定義函數(shù)迭代法和遞歸法課件高中信息技術教科版必修一_第2頁
4.1.2自定義函數(shù)迭代法和遞歸法課件高中信息技術教科版必修一_第3頁
4.1.2自定義函數(shù)迭代法和遞歸法課件高中信息技術教科版必修一_第4頁
4.1.2自定義函數(shù)迭代法和遞歸法課件高中信息技術教科版必修一_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

做出判斷的分支2.2編制程序?qū)崿F(xiàn)對垃圾類型的分類判斷功能簡介如果輸入“豬可以吃”顯示“這是廚余垃圾(濕垃圾)”如果輸入“豬吃了會死”顯示“這是有害垃圾如果輸入“豬不吃”

顯示“這是其他垃圾(干垃圾)”如果

輸入“賣了可以買豬”顯示“這是可回收垃圾”其他顯示“輸入錯誤,請重新輸入”算法設計自定義函數(shù)、迭代法和遞歸法教科版信息技術必修1數(shù)據(jù)與計算單分支流程圖

本節(jié)課學習目標1、掌握自定義函數(shù)的含義并會運用自定義函數(shù)解決問題2、運用迭代法實現(xiàn)簡單算法,解決問題3、運用遞歸法實現(xiàn)簡單算法,解決問題單分支流程圖一、自定義函數(shù):1.代碼復用。程序中多處用到功能相似或相同的代碼時可以用代碼復用的方法來提高程序的效率。通常使用“函數(shù)”和“模塊”等方法實現(xiàn)。代碼復用可以減少重復編寫代碼的工作量,也可以使程序的結構更加清晰。2.函數(shù)。函數(shù)分為系統(tǒng)函數(shù)和用戶自定義函數(shù)。系統(tǒng)函數(shù)即函數(shù)庫里的標準函數(shù),是程序設計語言或操作系統(tǒng)提供給用戶的一系列已經(jīng)編寫好的程序。如print()函數(shù)和input()函數(shù)等。用戶自定義函數(shù)是用戶自己編寫的程序代碼。一般包括函數(shù)名、參數(shù)、返回值和函數(shù)體等四個部分。定義的格式如下:基本格式:def函數(shù)名(參數(shù)):

語句或語句組return返回值需要說明的是:(1)函數(shù)名和函數(shù)體必不可少;(2)參數(shù)是用來向函數(shù)傳遞值的,可以省略(空括號不能省略);參數(shù)也可以有多個,中間用“,”分隔;(3)函數(shù)執(zhí)行完畢,由return語句將值返回給調(diào)用者;如果沒有返回值,該語句可以省略;(4)采用函數(shù)名(參數(shù)列表)的方式調(diào)用函數(shù)。單分支流程圖

二、迭代法:1.迭代法也稱輾轉(zhuǎn)法,是一種不斷用變量的舊值遞推新值的過程。選代算法是用計算機解決問題的一種基本方法,它利用計算機運算速度快、適合做重復性操作的特點,讓計算機對一組指令(或一定步驟)進行重復執(zhí)行,在每次執(zhí)行這組指令(或這些步驟)時,都從變量的原值推出它的一個新值作為新一輪計算的輸入。2.迭代法求解問題的三個步驟:(1)確定迭代變量;(2)建立迭代關系式;(3)控制迭代過程。

打開《百日沖刺書》第49頁看選擇題第1—3題單分支流程圖

斐波那契數(shù)列:指的是這樣一個數(shù)列:1,1,2,3,5,8,13,21,34,55,89...這個數(shù)列從第3項開始,每一項都等于前兩項之和。斐波那契數(shù)列的定義者,是意大利數(shù)學家萊昂納多·斐波那契,1202年,他撰寫了《算盤全書》斐波那契數(shù)列,又稱黃金分割數(shù)列,因數(shù)學家萊昂納多·斐波那契以兔子繁殖為例子而引入,故又稱為“兔子數(shù)列”,指的是這樣一個數(shù)列:1、1、2、3、5、8、13、21、34、……

在數(shù)學上,斐波那契數(shù)列以如下被以遞推的方法定義:F(0)=0,F(xiàn)(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)

單分支流程圖

典型例題:閱讀下列斐波那契數(shù)列應用的Python代碼,完成1~3題。deffib(n):fl=f2=1foriinrange(3,n+1):f1,f2=f2,

return

n=int(input("請輸人需要計算的月份數(shù):"))print("兔子的總對數(shù):",fib(n))

1.在①處的表達式應該是(

)A.f1B.f(n)C.fl+f2D.fib(n)2.在②處函數(shù)返回的值為(

)A.f1B.f2C.f1+f2D.fib(n)3.函數(shù)調(diào)用結束時i的值為(

)A.nB.n+1C.n-1D.f1+f2

單分支流程圖三、遞歸法:1.遞歸,顧名思義,分為遞推和回歸。指一種通過重復將問題分解為同類的子問題,從而解決問題的方法。遞歸算法通過調(diào)用程序自身來實現(xiàn)。2.使用遞歸算法需確定的兩個條件:(1)遞推關系;(2)邊界條件(即遞歸退出的條件)。3.遞歸與迭代:(1)遞歸與送代算法都需要重復執(zhí)行某些代碼;(2)遞歸是重復調(diào)用函數(shù)自身,遇到滿足終止條件時逐層返回;迭代是重復反饋過程的活動,其目的是通近所需目標或結果,通常使用計數(shù)器結束循環(huán)。

打開《百日沖刺書》第55頁看典型題析題目單分支流程圖典型例題:以下為用遞歸算法求自然數(shù)n的階乘的Python程序,橫線處的代碼應為()deffact(n):ifn==0:return1else:return①n=int(input(“請輸入一個整數(shù):"))print(fact(n))A.n*fact(n-1)B.n*(n-1)*(n-2)*...*(1)C.n*(n-1)D.fact(n-1)分析:本題考查的是遞歸表達式,要確定遞推關系。例如,求fact(4)的過程如下:fact(4)=4*fact(3)=4*(3*fact(2))=4*(3*(2*fact(1)))=4*(3*(2*(1*fact(0))))單分支流程圖學生活動:考試真題提問學生先做后講1、已知a,b,c是三角形的三條邊,p為三角形的半周長,即p=(a+b+c)/2,計算三角形面積S的海倫公式為:求當a,b,c的值分別為3,4,5時,三角形的面積。importmath#導入數(shù)學模塊defhl(a,b,c):#定義求三角形面積的函數(shù)

p=①s=math.sqrt(②)#sqrt用于計算算術平方根

return③#返回面積的值a,b,c=3,4,5#邊長依次賦值print("此三角形的面積S為:",hl(a,b,c))2、打開文件“考生文件夾\671\斐波那契數(shù)列.py”,完善fib函數(shù)并保存。實現(xiàn)功能:用遞歸法求斐波那契數(shù)列1,1,2,3,5,8,…第n項的值。deff(n):#定義遞歸函數(shù)

ifn==1①n==2:return1else:return②n=int(input("請輸入正整數(shù)n的值:"))print(③)#打印結果單分支流程圖學生活動:考試真題提問學生先做后講3、求m和n的最大公約數(shù)。(m>n,m,n均為自然數(shù))deff(m,n):#遞歸定義函數(shù),求m和n的最大公約數(shù)

溫馨提示

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

評論

0/150

提交評論