版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 c語言程序設計循環(huán)結構之“四要素學習法” 摘要:c語言程序設計中循環(huán)結構是順序、選擇、循環(huán)三大基本結構之一,功能強大,使用靈活方便,但是學生學習難度比較大。該文以累加和為切入點深入分析循環(huán)結構特點,總結出循環(huán)結構“四要素學習法”,用for、while、do-while等循環(huán)語句分別實現其循環(huán)算法,并舉例加以深入解讀,使循環(huán)結構學習思路清晰,重點突出,對于學生掌握并靈活使用循環(huán)結構非常有幫助。關鍵詞:c語言程序設計;循環(huán)結構;四要素學習法:tp311 :a:1009-3044(2020)29-0121-031 背景c語言是面向過程的高級程序設
2、計語言之一,它具有數據類型豐富、靈活高效和結構化等特征1。c語言程序設計是自動化等工科專業(yè)非常重要的專業(yè)課程,尤其后期學習單片機時進行編程也是使用c語言。循環(huán)指事物周而復始地運動或變化。在計算機程序設計中,“循環(huán)”這一術語指的是一種專門的控制結構。特征是重復執(zhí)行循環(huán)體中的語句,比一般情況下的順序執(zhí)行復雜一些,需要跳轉命令和條件判斷組合實現2。循環(huán)結構是c語言程序設計中三大基本結構之一3,也是最為重要、使用頻率較高的結構,其特點是,在給定條件成立時,反復執(zhí)行某程序段,直到條件不成立為止。循環(huán)結構一直是學生學習程序設計的一個難點,下面筆者就以循環(huán)結構中的累加和問題s= 1+2+3+100為切人點,
3、談一下自己的授課經驗。累加和的實現有2種方案。解決方案1:考慮順序結構來完成,雖然可以實現,但是比較煩瑣,費工,計算機智能化快速化優(yōu)勢并沒有體現出來,同時順序結構算法的通用性太差,題目稍有變化如從1加到1000等,就不能解決了。也就是說,順序結構來解決重復才做問題,只能具體問題具體分析,不能解決此類問題。解決方案2:使用循環(huán)結構實現,程序代碼簡單,邏輯清晰,而且通用性強,可以推廣到類似的其他問題。比較兩種方案,循環(huán)結構用來解決重復性操作問題優(yōu)勢明顯,但是循環(huán)結構算法相對來說比較難掌握。筆者也就此算法進行了深入的課堂教學研究,從操作過程拆解、循環(huán)結構流程圖和循環(huán)語句實現三方面來進行分析講解,提出
4、了循環(huán)結構的“四要素學習法”。2 循環(huán)結構教學過程2.1 操作過程拆解對于累加和問題,本質上是相加操作的重復,所以其共性為:和=操作數1+操作數2,重復若干次;重復性相加操作的不同之處在于:每次參與相加的操作數1和操作數2是不同的,操作數1為上次相加之和,稱為舊和,操作數2為上次操作數2加l之后的值。對比重復性操作的共性和不同之處,累加和操作問題的通式可寫為:新和=舊和+操作數2。所以累加和問題就變?yōu)椋涸O置好初值,利用變量值可變的特性重復求和,直到加到100,累加結束。在此過程中,設累加和存放在變量sum中,操作數2為變量i,則初值設定為sum=0,i=1,重復相加通式為:sum=sum+i,
5、累加完成后i值增1,此后進行下一次累加操作,知道i值超過100,累加結束,共重復100次,此過程即為循環(huán)結構。對于程序設計當中涉及重復性問題,都可按照這個分析過程來進行初步分析。2.2 循環(huán)結構四要素以上分析內容用程序流程圖表示如下圖1。通過對循環(huán)結構流程圖的分析可以看出,循環(huán)結構的實現需要注意四個關鍵點:1)初值設定,是循環(huán)正確開始的基礎;2)循環(huán)條件,限定重復性操作重復執(zhí)行的條件,也是循環(huán)能適時終止的保證,避免循環(huán)陷入死循環(huán);3)循環(huán)體,是循環(huán)重復性操作的具體體現;4)循環(huán)變量的調整,是循環(huán)體正確執(zhí)行或者循環(huán)次數控制的重要環(huán)節(jié)。在使用循環(huán)結構時,這四點必須予以重視。由累加和問題推廣到一般重
6、復性問題,流程圖如圖2所示。在分析一般的具有重復性操作的問題時,都可以歸結為以上四要素的分析推理過程,所以在c語言程序設計中循環(huán)結構這一環(huán)節(jié)的授課過程中,筆者提出了“四要素學習法”,結合重復性操作問題的特點,找出重復過程中的四個方面,即起始特點、重復操作條件、重復操作本身以及每次重復操作的細微調整,對應以上講解的循環(huán)結構實現過程中的初值設定、循環(huán)是否執(zhí)行的判斷條件、循環(huán)體及循環(huán)變量調整四個要素,循環(huán)結構算法即可實現。2.3 循環(huán)語句實現循環(huán)結構的實現語句包括三種:for、while、do-while,三種語句雖然語法規(guī)則不同,但都可實現上面的循環(huán)結構,而且按照四要素法來分析這三種循環(huán)語句,都包
7、含前面所分析的循環(huán)初值設定、循環(huán)判斷條件、循環(huán)體及循環(huán)變量調整四個要素其中。1)for語句實現for語句使用十分靈活,變化多端,可以通過for語句培養(yǎng)靈活使用c語言的能力2,故我們首先以for語句為例來設計循環(huán)結構程序代碼。for語句的基本格式為:for(表達式1;表達式2;表達式3)循環(huán)體語句;其執(zhí)行過程為:先執(zhí)行表達式1,再判斷循環(huán)條件表達式2是否成立,如果條件成立則執(zhí)行循環(huán)體語句,執(zhí)行完循環(huán)體語句后執(zhí)行表達式3;之后再次判斷循環(huán)條件是否成立,若條件還成立,則繼續(xù)重復循環(huán)體語句,當條件不成立時則跳出for循環(huán)。累加和for語句實現的程序為:for(i=l,sum=o;i<=loo;i
8、+)sum=sum+i;用四要素學習法分析for語句程序段:i=1.sum=0;為循環(huán)初始條件;i<=100為循環(huán)判斷條件;sum=sum+i;為循環(huán)體語句;i+;為循環(huán)調整語句。2)while語句實現while語句在單片機程序設計中常會使用,基本格式為:while(循環(huán)條件)(循環(huán)體語句;)其執(zhí)行過程為:先判斷循環(huán)條件是否成立,如果成立就執(zhí)行循環(huán)體語句,執(zhí)行完畢后再回來判斷循環(huán)條件是否滿足,如此重復;直到條件不成立時,跳出循環(huán),執(zhí)行while循環(huán)后邊的語句。在使用while的循環(huán)語句時一定要包括能最后判斷出while循環(huán)語句條件的真假性的操作過程。用while語句實現累加和問題:i=l
9、.sum=0;while(i(sum=sum+l;i+;)同樣用四要素法分析while語句程序段:i=1,sum=0;為循環(huán)初始條件;i<=100為循環(huán)判斷條件;sum=sum+i;為循環(huán)體語句;i+;為循環(huán)調整語句。3) do-while語句實現do-while語句的特點:do-while語句的一般形式為:do循環(huán)體語句;while(循環(huán)條件);其執(zhí)行過程為:首先無條件地執(zhí)行一次循環(huán)體,然后判斷循環(huán)條件是否成立,成立則繼續(xù)循環(huán),否則退出循環(huán)。因此,與while循環(huán)相比,do-while循環(huán)要無條件執(zhí)行一次循環(huán)語句,實現相同算法時要注意此區(qū)別。用do-while語句實現累加和問題:i=l
10、.sum=0;dosum=sum+1.while(i<=100);再次用四要素法分析do-while語句程序段:i=1,sum=0為循環(huán)初始條件;i<=100為循環(huán)判斷條件;sum=sum+i為循環(huán)體語句;i+為循環(huán)調整語句。4)三種循環(huán)語句對比由以上分析可知,不論是什么語句來實現循環(huán)結構,都離不開循環(huán)結構的四要素:循環(huán)初值設定、循環(huán)判斷條件、循環(huán)體和循環(huán)變量調整,循環(huán)算法才能正常實現,否則循環(huán)有可能出現起始條件不正確,或者陷入死循環(huán)等難以發(fā)現的邏輯問題。三種語句的區(qū)別只在于四要素在循環(huán)算法中的位置不同。所以,可以把循環(huán)四要素法推廣應用到重復性操作所有問題中。在設計循環(huán)結構的算法時
11、,關鍵在于設置好循環(huán)四要素,循環(huán)算法才能成功實現。同時也可以利用四要素法來驗證循環(huán)算法是否能成功實現要求。3 循環(huán)結構四要素學習法應用接下來進行應用循環(huán)四要素學習法來實現其他循環(huán)問題案例分析。例題1:求費波那西(fibonacci)數列的前40個數。這個數列同時也是一個有趣的數學問題,可把數列問題描述為:最開始有一對兔子,從出生后第3個月起每個月都能生一對兔子。小兔子長到第3個月后又可以每個月生一對兔子。假設所有兔子都不死,則每個月的兔子總數滿足費波那西數列的規(guī)律。根據前面分析信息可總結出這個數列有如下特點:第1、2兩個數為1、1。從第3個數開始,該數是其前面兩個數之和。即:用程序的思想來解讀
12、這個數學問題,用循環(huán)結構實現最為恰當。其思路為:設置兩個數列變量fl和f2用來暫存數列當中的某兩個數,設置一個循環(huán)調整變量i,從數列第一個數到數列中的第40個數。由式1可知當i=1和i=2時,f1=1,f2=1。本問題中i的值每變化一次,f。就要重新賦一次值,故重復性操作為fn=fn-1+fn-2(n3)并輸出顯示。在數列前兩個數都為1的基礎上,循環(huán)變量的值從i=1到i=38才能把數列前40個數計算卅來。所以用循環(huán)四要素法來解讀:循環(huán)初值為f1=1,f2=1,i=1;循環(huán)判斷條件為i38;循環(huán)體語句為fn=fn+1,+fn-2(n3)和顯示語句,并且要為下次fn的賦值做準備,即進行fl和f2值
13、的調整;循環(huán)變量調整則為i值每次增1。算法流程圖如下圖3所示。用for語句實現費波那西數列循環(huán)結構,其程序代碼為:#includeint main0f int fl=l,f2=l,f3; int i;printf(”%12dn%12dn”,f1,f2);for(i=l;i<=38;i+)f f3=fl+f2;printf(”o-/012dn”,f3);fl=f2;f2=f3:)return 0:)接下來進行案例二的分析。例2:用;/41-1/3+1/5-1/7+公式求仃的近似值,直到某一項的絕對值小于10-6為止(該項不累計加)。由題十信息可知,公式有無窮項相加減,明顯可考慮用循環(huán)結構來
14、實現。分析題中所給公式的特點可總結為:1)每一項的分子都是1,后一項的分母是前一項的分母加2;2)相鄰兩項項分數的符號正負交替;故相鄰兩項數據的關系為:1/n=>1/n+2在設計程序時,需要用到幾個變量:flag:符號變量,用以進行每次加減運算時符號的替換;pi:變量;n:參與運算的每一項的分母值;t:由符號變量除以沒意向的分母值得到參與運算的當前項。用循環(huán)四要素法來解讀:循環(huán)初值為flag=l,pi=0,n=1,t=1;循環(huán)結束條件為某一項的絕對值小于l0-6,故判斷條件為tl0-6;循環(huán)體:計算pi值;循環(huán)變量調整:n=n+2,flag取反以及t的新值計算。程序流程圖如圖4所示。程序
15、清單如下:#include#includeint main0 int flag=l; double pi=o,n=l,t=l;while(fabs(t)>=le-6)( pi=pi+t;n=n+2:flag=-flag;t=flag/n;)pi=pi*4;printf(”pi= o-/010.8fn”,pi);return o:)4 結束語由以上分析可知,重復操作性問題利用循環(huán)結構可使程序結構清晰,語句簡潔。循環(huán)結構設計過程中一定需要注意四要素:初值設定、循環(huán)判斷條件、循環(huán)體、循環(huán)變量調整,只要把握住這四個要素,循環(huán)結構設計就可實現,并且也可易用循環(huán)四要素查找循環(huán)結構是否存在漏洞。同時在算法設計好之后,程序實現時也應注意for、while、do-while等循環(huán)語句的使用特點,在合適的位置上設置合適的四要素。所以利用“四要素學習法”來講解循環(huán)結構,簡單易懂
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 一年級小學生下冊語文教學反思(10篇)
- Thiochrome-Standard-生命科學試劑-MCE
- 7 散文詩二首導學案 統(tǒng)編版語文七年級上冊
- Tea-polyphenol-Standard-生命科學試劑-MCE
- 2024-2025學年高中歷史第一單元第一次世界大戰(zhàn)第4課第一次世界大戰(zhàn)的后果1教學教案新人教版選修3
- 2024-2025學年新教材高中政治第四單元提高創(chuàng)新思維能力第十一課第一框創(chuàng)新思維的含義與特征課后習題含解析部編版選擇性必修3
- 2024年IVL檢測系統(tǒng)項目建議書
- 玉溪師范學院《伴奏及自彈自唱》2021-2022學年第一學期期末試卷
- 2024年燒結釹鐵硼永磁材料項目合作計劃書
- 鹽城師范學院《移動終端開發(fā)技術》2021-2022學年期末試卷
- 特種設備鍋爐日管控、周排查、月調度主要項目及內容表
- 絳蟲概論豬帶絳蟲和牛帶絳蟲PPT課件
- 2019統(tǒng)編人教版高中物理必修第一冊第一章《運動的描述》全章節(jié)教案教學設計
- A建材檢測公司企業(yè)所得稅納稅籌劃研究
- 煤礦開采學第六章采煤工作面礦山壓力規(guī)律
- ProE5.0全套教程(完整版)
- 用鍵盤符號構圖參考課件
- 立井更換首繩安全技術措施
- 酒店裝修施工進度表
- 魯教版九年級上冊化學全冊教案
- 140t干熄焦工程監(jiān)理11頁
評論
0/150
提交評論