資源描述:
《最新c語(yǔ)言--函數(shù)的遞歸調(diào)用幻燈片.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、c語(yǔ)言--函數(shù)的遞歸調(diào)用我們先看這樣一個(gè)例子:說(shuō)有一只調(diào)皮的小猴子,摘了一堆水果,第一天吃了水果的一半,又多吃了一個(gè);第二天吃了剩下水果的一半,又多吃了一個(gè);依次類推….到第十天,發(fā)現(xiàn)只剩下了1個(gè)水果,請(qǐng)問(wèn)這只猴子到底摘了多少個(gè)水果?2計(jì)算機(jī)科學(xué)系陳垚一、函數(shù)遞歸的特點(diǎn)5.4函數(shù)遞歸調(diào)用后一部分與原始問(wèn)題類似后一部分是原始問(wèn)題的簡(jiǎn)化1、定義:調(diào)用一個(gè)函數(shù)時(shí)直接或間接調(diào)用自身,稱之為函數(shù)的遞歸。2、一個(gè)問(wèn)題能夠成為遞歸必須具備的條件是:許多數(shù)學(xué)函數(shù)都是用遞歸的形式定義的:3計(jì)算機(jī)科學(xué)系陳垚age(5)=16+2=18age(4)=14+2=1
2、6age(3)=12+2=14age(2)=10+2=1210(n=1)age(n)=age(n-1)+2(n>1)設(shè)age表示年齡,則有如下:age(5)=age(4)+2age(4)=age(3)+2age(3)=age(2)+2age(2)=age(1)+2age(1)=107計(jì)算機(jī)科學(xué)系陳垚main(){printf(“%d”,age(5));}age(intn){intc;if(n==1)c=10;elsec=age(n-1)+2;return(c);}age(5)c=10n=1c=age(3)+2n=4c=age(2)+2n=3
3、c=age(1)+2n=2c=age(4)+2n=5c=10+2=12c=12+2=14c=14+2=16c=16+2=188計(jì)算機(jī)科學(xué)系陳垚例2:漢諾塔(Hanoi)問(wèn)題BC問(wèn)題:將A塔上n個(gè)盤子移至C(借助于B)。移動(dòng)時(shí),保證三個(gè)塔始終是大盤在下,小盤在上,并且每次只能移動(dòng)一個(gè)盤子。An個(gè)盤子9計(jì)算機(jī)科學(xué)系陳垚必須用遞歸方式解決1)先將A塔n–1個(gè)盤子借助于C移至B上2)將A上剩下的一個(gè)移至C上.3)將B上n–1個(gè)盤子借助于A移至C上.可以看到:1)、3)為同一問(wèn)題,都為n–1個(gè)盤子借助于一個(gè)空塔移至另一塔上。10計(jì)算機(jī)科學(xué)系陳垚ABC
4、例Hanoi問(wèn)題11計(jì)算機(jī)科學(xué)系陳垚voidmove(chargetone,charputone){printf("%c--->%c",getone,putone);}voidhanoi(intn,charA,charB,charC){if(n==1)move(A,C);else{hanoi(n-1,A,C,B);move(A,C);hanoi(n-1,B,A,C);}}main(){intn;scanf("%d",&n);hanoi(n,‘A',‘B',‘C');}程序如下:ABCABCABCABC12計(jì)算機(jī)科學(xué)系陳垚inputthe
5、numberofdiskes:3?Thesteptomoving3diskes:A??>CA??>BC??>BA??>CB??>AB??>CA??>C運(yùn)行情況如下:13計(jì)算機(jī)科學(xué)系陳垚?move(getone,putone)表示從getone塔移一個(gè)盤子至putone塔?hanoi(n,one,two,three)表示n個(gè)盤子從one塔借助于two塔(空)移至three塔,調(diào)用時(shí)塔用字符常量'A','B','C'表示。在程序中有兩個(gè)函數(shù):14計(jì)算機(jī)科學(xué)系陳垚小結(jié)1.函數(shù)遞歸的定義2.函數(shù)遞歸的特點(diǎn)3.函數(shù)遞歸調(diào)用的方式本節(jié)課主要介紹的內(nèi)容:
6、15計(jì)算機(jī)科學(xué)系陳垚上機(jī)作業(yè):說(shuō)有一只調(diào)皮的小猴子,摘了一堆水果,第一天吃了水果的一半,又多吃了一個(gè);第二天吃了剩下水果的一半,又多吃了一個(gè);依次類推….到第十天,發(fā)現(xiàn)只剩下了10個(gè)水果,請(qǐng)問(wèn)這只猴子到底摘了多少個(gè)水果?1(n=10)num(n)=2*(num(n+1)+1)(n<10)16計(jì)算機(jī)科學(xué)系陳垚催產(chǎn)素引產(chǎn)與催產(chǎn)產(chǎn)科催產(chǎn)素引產(chǎn)、催產(chǎn)使用常規(guī)引產(chǎn)助產(chǎn)晚期妊娠引產(chǎn)引產(chǎn)方法停止引產(chǎn)指征催產(chǎn)催產(chǎn)方法停止催產(chǎn)指征催產(chǎn)使用注意事宜適應(yīng)癥禁忌癥準(zhǔn)備引產(chǎn)前準(zhǔn)備(醫(yī)生)助產(chǎn)師及產(chǎn)科人員催產(chǎn)素能使子宮平滑肌收縮,具有引發(fā)及加強(qiáng)子宮收縮的作用,是產(chǎn)科最
7、常用引產(chǎn)、催產(chǎn)的有效藥物。如病歷選擇恰當(dāng)嚴(yán)格掌握劑量及用法是較安全的,但若不掌握適應(yīng)癥及禁忌癥或缺乏嚴(yán)密的觀察,可造成胎兒缺氧子宮破裂、羊水栓塞危機(jī)母嬰生命安全的不良后果。因此制定正確應(yīng)用催產(chǎn)素在引產(chǎn)、催產(chǎn)的使用常規(guī),具有現(xiàn)實(shí)意義。返回晚期妊娠引產(chǎn)指妊娠滿28周以上,由于胎兒或孕婦原因繼續(xù)妊娠對(duì)母嬰雙方均不利時(shí)需要采取措施誘發(fā)子宮收縮,結(jié)束分娩者。返回適應(yīng)癥1.妊高征治療效果不佳;2.妊娠≥41周,不伴有嚴(yán)重胎盤功能不良者;3.胎膜早破妊娠34周以上,6-12小時(shí)以上未能臨產(chǎn)者;4.確診為胎死宮內(nèi)或嚴(yán)重胎兒先天異常,無(wú)產(chǎn)道梗阻者;5.妊娠合
8、并內(nèi)外科疾病,但可陰道分娩,需要終止妊娠者;6.高危妊娠繼續(xù)妊娠對(duì)母兒危險(xiǎn)時(shí)。母兒情況能經(jīng)受產(chǎn)程考驗(yàn)者。以上適應(yīng)癥須征求孕婦及家屬同意后家屬簽字方可實(shí)施。返回禁忌癥:1.明顯的頭