999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

C語言循環結構教學的設計與實踐

2018-04-02 01:24:50娟,張
計算機教育 2018年3期
關鍵詞:案例結構課程

李 娟,張 燕

(西北民族大學 電氣工程學院,甘肅 蘭州 730000)

1 背 景

C語言程序設計是針對大一學生開設的一門程序設計課程,是一門語法靈活、功能齊全、應用廣泛的高級程序設計語言,是后續程序設計課程的重要基礎。通過學習這門課程,學生主要掌握程序設計的基本方法,培養正確的程序設計思想,熟練地使用C語言編寫程序并具備程序調試的能力,為后續課程的學習奠定一定的計算機基礎,同時也為工程技術工作者使用計算機解決實際問題提供方法。該課程的特點是理論與實踐相結合,理論教學是實踐教學的基礎,實踐教學是理論教學的強化和應用。

在實際教學中,教師講課采用的是傳統的“純理論”講授方式,導致該課程出現很多弊端。第一,C語言的語法和概念比較多,現有的大部分教材是先給出某個知識點,然后闡述該知識點的語法形式和定義,最后舉例說明。傳統教學中,教師也是采用這樣的授課思維方式,忽視了學習C語言的關鍵是讓學生掌握程序設計的方法并解決實際問題,教出來的學生只能看懂程序卻不能使用C語言編寫程序解決實際的問題。“算法是程序設計的靈魂,語言是工具,編程需要采用合適的方法”[1],因此在講解C語言的時候要重視算法的重要性。第二,C語言是一門實踐性很強的課程[2],上機實踐是C語言的一個關鍵環節。很多高校C語言的理論學時很充足,而上機實踐學時較少,上機課程只是簡單的程序代碼輸入,屬于驗證性的實驗,設計性和綜合性的實驗很少,沒有起到上機實驗鍛煉編程能力的作用,導致學生實際編寫程序能力沒有得到很好的提高。第三,大部分普通高校的C語言考核是筆試的方式,這導致教師在教學中就會以考試為目的,考的內容就講,不考的內容就不講,考的內容較多的就講得比較詳細,考的內容較少的就講得比較淺顯,卻沒有把握住C語言學習的真正目的是讓學生學會編寫程序[3],而不是應付考試。

2 循環結構在C語言課程中的重要地位

1996年,Bohra和Jacopini提出了程序設計的3種基本結構是順序結構程序設計、選擇結構程序設計和循環結構程序設計[4],并且已經證明由這3種基本結構組成的算法結構,可以解決任何不管是簡單還是復雜的問題。循環結構程序設計是C程序設計中最重要和最難掌握的程序設計結構,每一個C程序設計都少不了循環結構。C語言中提供了3種循環語句:while循環語句、do while循環語句和for循環語句,其中for循環語句是最難掌握的一種語句。在一般情況下,為了解決實際的程序設計問題,在條件確定給出循環次數時,首選的循環語句是for語句,因為for語句使用時簡潔明了、4要素清楚、結構緊湊、靈活多變、執行效率高,因此完全可以取代while循環語句和do while循環語句,但是在某些情況下,也可以采用while循環語句和do while循環語句解決問題。

學生學習循環程序設計的問題主要是以下幾個方面:①循環結構在哪些問題中可以使用;②哪些操作需要重復執行;③這些操作在什么情況下需要重復執行;④循環變量如何改變;⑤編寫的程序容易陷入無限循環,既不報告數據有錯,又不結束循環。C語言程序設計課程的教學大綱中明確指出循環結構的程序設計是C語言的重點內容,也是難點內容,為后續內容的學習提供重要的基礎。對于初學者來說,教師在教學過程中采用好的教學方法,更有助于學生掌握C語言中循環結構程序設計的方法。

3 循環結構的教學方法

對于C語言程序設計這門課程中循環結構的教學,根據知識點的特點,教師可以采用滲透式的漸進案例驅動教學法以及遷移引導式的方法,使學生掌握如何運用知識解決實際問題。該教學法分別吸收滲透式教學法[5]、漸進式教學法[6]和案例驅動教學法[7]的優點,具有如下特點:①通過講解案例滲透基本概念,達到讓學生潛移默化吸收知識的目的;②案例驅動教學法的關鍵是選擇包含相應知識點的經典案例,并且講解案例時進行分解,采用由易到難、由淺入深、循序漸進的教學法;③采用循序漸進的教學法講解案例,讓學生發現規律和總結規則,理解C語言語法規則的定義,教師對于理論知識再做一個總結歸納,使學生進一步提高認識,達到舉一反三應用的效果;④在講解完語法規則和案例后,采用遷移式的教學法,讓學生及時進行課堂練習,既鞏固所學知識,又提高解決實際問題的能力,達到學以致用的目的。

4 循環結構教學過程的設計與實踐

4.1 案例設計原則

案例的設計思路是厚基礎、抓重點、破難點,具體需要考慮以下幾方面:①所選的案例必須包含相關的知識點;②案例的選擇要難易程度適中,符合學生的學習水平,并且可以提高學生的學習興趣;③案例的選擇要具有典型性,可以達到舉一反三的目的;④案例的講解要采用循序漸進的教學方式,由易到難,由淺入深。

案例的設計原則是讓學生理解循環結構由4部分構成,包括循環變量初始化、循環控制條件、循環控制部分和循環體語句,并且掌握各部分的功能以及作用。

4.2 案例實施過程

設計案例1:求1×2×n的值。

案例分析:案例1是求1到n這n個數連乘的乘積。計算過程:首先定義一個變量product保存得到的乘積值,初始化為product=1,然后依次將1, 2n累乘到product中,最后得到product的值就是所求的結果。通過觀察發現,每次計算乘積的時候,除了乘數不一樣,其他的過程都是一樣的。因此,在編寫程序時,可以設置一個變量i保存所乘的數,i的值是以1遞增從1變化到n,每次執行product=producti,就得到最后的乘積值。通過分析,給出程序如下:

根據所給出的程序總結出for循環的一般形式和各部分的功能,進而把程序推廣到用while和do while表示的形式,程序分別如下:

高性能在線分析計算現狀與協同計算關鍵技 術//郭 健,周 京 陽,李 強,Yousu CHEN,羅雅迪,郎燕生//(3):149

while形式:

do while形式:

根據案例1的設計,進而讓學生理解循環結構的特點,必須具備4要素且4要素可以靈活變化,出現在不同的地方;同時讓學生了解for循環語句、while循環語句和do while循環語句可以互相轉換。

設計案例2:求1!+2!++100!的值。

案例分析:案例2的講解過程中,首先讓學生觀察,發現它與案例1有相同的部分,借助于案例1的結論分別求出1!、2!100!,然后把1!加上2!,一直加到100!,就得到最后的結果,程序設計時用內層循環求n!,外層循環求1!+2!++100!,這樣構成雙重循環,因此程序設計如下:

對于上面的程序,分析出該算法的時間復雜度為O(n2),這個執行效率是比較低的。對于所求解的問題,教師應進一步與學生探討,求下一個累加數的階乘是在前面一個階乘的基礎上,并且后面一個數是前面一個數以1遞增得到的,因此對于前面的程序改進后如下:

對于上面的程序,其算法的時間復雜度為O(n),這個算法的效率就比較高,是線性的。這個過程可以培養學生算法分析的能力和提高其解決實際問題的能力。

案例分析:案例3的講解中,借助于案例2中我們先求 sum=1!+2!++n!,當sum>10 000就結束循環,這時要有跳出循環的語句,正好可以使用C語言中的break語句。當滿足條件sum>10 000為真(值為1),執行break語句,跳出循環,從而終止循環。程序設計如下:

可以看出,for循環中沒有循環控制條件,缺少循環控制條件就會變成無限循環,這時就要有跳出循環的語句,即break語句,否則程序將無休止地執行下去,形成死循環。這個問題的難點是怎么使循環體滿足條件后結束循環體,也是學生考慮問題的關鍵。

4.3 案例總結歸納

在講解完上述3個案例后,教師應及時對用到的知識和方法做出評價和總結,并把相應的知識進行延伸,使學生形成完整的知識體系。對于案例1,點評學生完成的情況,總結出循環結構的一般形式和各部分的功能,得出for循環語句的一般形式,然后把它推廣到其他形式的循環結構,如while和do while語句。對于案例2,教會學生分析復雜問題的方法,指導學生將復雜問題分解成簡單的小問題來解決,從而解決復雜的問題;同時在進行程序設計時,使學生潛移默化地理解算法的優劣,懂得設計出更好程序的關鍵是設計執行效率高的算法。對于案例3,學生掌握在進行程序設計時怎么避免設計成死循環,當循環次數不確定時,找出可以跳出循環體的條件,然后用break語句。

4.4 舉一反三

在講解完語法規則和案例后,利用遷移式的學習法,讓學生進行課堂練習,進一步擴展思維,達到學以致用的目的。

5 結 語

循環結構程序設計是C語言程序設計中的重點和難點內容,滲透式的漸進案例驅動教學法的優點是:①培養學生分析算法的能力;②提高學生解決實際問題的能力;③加強學生編寫程序的能力。綜上所述,漸進式的教學法培養學生具備扎實的基本知識、良好的邏輯思維能力和演繹能力;案例式的教學法提高學生的學習興趣,開發學生的智力,具有啟發性和實踐性;而滲透式的教學法培養學生獨立工作的能力,令學生具備較強的創造性和開拓性,這幾種方法結合在一起能夠發揮各自的優勢。

實踐表明,這樣的教學方法符合大一新生學習的特點,由易到難、由淺入深、逐步分解、環環相扣、潛移默化,并且也能很好地提高學生的學習興趣和積極主動性。學生只有自己發自內心想學,才會積極主動地思考問題,才會達到更好的學習效果。

參考文獻:

[1]王平勤, 董付國, 原達. 在C語言教學中注重培養學生算法分析的能力[J].微型機與應用, 2007(增刊1): 211-213.

[2]裘宗燕. 從問題到程序: 程序設計與C語言引論[M]. 2版. 北京: 機械工業出版社, 2011: 68-102.

[3]李向陽, 方嬌莉. C語言程序設計(基于CDIO思想)[M]. 北京: 清華大學出版社, 2012: 62-87.

[4]譚浩強. C程序設計[M]. 4版. 北京: 清華大學出版社, 2012: 24-26.

[5]楊秀娟, 裴金萍, 劉惹梅. 滲透式教學法在工程制圖教學中的應用[J]. 中國電力教育, 2014(15): 82-83.

[6]崔松健. 漸進式與項目式教學方法在“網頁設計技術”教學中的融合[J]. 電腦知識與技術, 2010, 6(33): 9375-9376.

[7]曹風華. 案例驅動教學法在“計算機應用基礎”課程中的應用[J]. 現代計算機, 2012(12): 41-43.

猜你喜歡
案例結構課程
《形而上學》△卷的結構和位置
哲學評論(2021年2期)2021-08-22 01:53:34
案例4 奔跑吧,少年!
少先隊活動(2021年2期)2021-03-29 05:40:48
數字圖像處理課程混合式教學改革與探索
軟件設計與開發實踐課程探索與實踐
計算機教育(2020年5期)2020-07-24 08:53:38
為什么要學習HAA課程?
論結構
中華詩詞(2019年7期)2019-11-25 01:43:04
隨機變量分布及統計案例拔高卷
發生在你我身邊的那些治超案例
中國公路(2017年7期)2017-07-24 13:56:38
論《日出》的結構
一個模擬案例引發的多重思考
中國衛生(2015年4期)2015-11-08 11:16:06
主站蜘蛛池模板: 国产啪在线| 亚洲高清无码精品| Jizz国产色系免费| 亚洲成av人无码综合在线观看| 毛片在线看网站| 久久综合丝袜长腿丝袜| 国产麻豆va精品视频| 亚洲第一区在线| 久久精品最新免费国产成人| 成年人午夜免费视频| 国产精品亚洲专区一区| 欧美特级AAAAAA视频免费观看| 啊嗯不日本网站| 中文字幕在线一区二区在线| 亚洲中文字幕在线观看| 伊人久久精品无码麻豆精品| 国产精品福利导航| 午夜精品久久久久久久无码软件| 欧美成a人片在线观看| 亚洲成aⅴ人片在线影院八| 欧美日韩在线第一页| 91精品国产一区自在线拍| 国产成人精品免费视频大全五级| 无码国内精品人妻少妇蜜桃视频| 毛片免费高清免费| 亚洲网综合| 无码免费的亚洲视频| 亚洲第一黄色网址| 人妻精品全国免费视频| 色135综合网| 久草青青在线视频| 国产区免费| 91福利一区二区三区| 亚洲狼网站狼狼鲁亚洲下载| 丁香五月亚洲综合在线| 麻豆a级片| 国产精品开放后亚洲| 国产高清色视频免费看的网址| av大片在线无码免费| 欧美一级黄色影院| AV不卡无码免费一区二区三区| 免费观看男人免费桶女人视频| 亚洲欧美在线综合一区二区三区| 久久天天躁夜夜躁狠狠| 国产视频欧美| 国产自视频| 国产精品三级av及在线观看| 国产精品久久自在自线观看| 国产精品亚洲日韩AⅤ在线观看| 亚洲综合欧美在线一区在线播放| 丁香五月婷婷激情基地| 国产精品视频系列专区| 国产精选自拍| 亚洲第一视频免费在线| 欧美视频在线观看第一页| 色悠久久综合| 中字无码av在线电影| 制服丝袜无码每日更新| 26uuu国产精品视频| 九九热精品在线视频| 国产精品黄色片| 日韩在线观看网站| 亚洲IV视频免费在线光看| 久久综合丝袜长腿丝袜| 欧美午夜性视频| 国产全黄a一级毛片| 久99久热只有精品国产15| 亚洲精品自在线拍| 亚洲a级在线观看| 无码久看视频| 日韩123欧美字幕| 成人在线观看不卡| 麻豆国产原创视频在线播放| 国产91av在线| 新SSS无码手机在线观看| 性色生活片在线观看| 亚洲成综合人影院在院播放| 国产精品视频白浆免费视频| 久久久精品无码一区二区三区| 国产sm重味一区二区三区| 欧美亚洲一区二区三区在线| 91欧美在线|