陳瓊
摘 要:《C語(yǔ)言程序設(shè)計(jì)教程》是理工類及計(jì)算機(jī)專業(yè)的一門重要基礎(chǔ)課程,是《數(shù)據(jù)結(jié)構(gòu)》、《軟件工程》等課程的前趨課程。為適應(yīng)計(jì)算機(jī)技術(shù)的應(yīng)用和發(fā)展,以引導(dǎo)學(xué)生自主思考和解決問題為目的,培養(yǎng)學(xué)生的C語(yǔ)言編程能力對(duì)于提高學(xué)生的計(jì)算機(jī)水平具有重要的作用。本文對(duì)“通過以具體案例為導(dǎo)向,采用計(jì)算思維的方法來(lái)解決問題的教學(xué)模式”進(jìn)行了探討,以提高C語(yǔ)言的教學(xué)質(zhì)量。
關(guān)鍵詞: 《C語(yǔ)言程序設(shè)計(jì)》 程序案例 計(jì)算思維 流程圖
1.引言
《C語(yǔ)言程序設(shè)計(jì)》課程的實(shí)踐性是很強(qiáng)的,理論聯(lián)系實(shí)際是這門課的特點(diǎn),怎樣利用所學(xué)理論知識(shí)解決實(shí)際問題是學(xué)習(xí)這門課的重點(diǎn),也是難點(diǎn)。多年的教學(xué)實(shí)踐表明,在教學(xué)過程中使用計(jì)算思維的方法解決問題,對(duì)培養(yǎng)學(xué)生的綜合應(yīng)用能力是有益的,通過使用流程圖描述算法,學(xué)生將更好地理解和掌握結(jié)構(gòu)化程序設(shè)計(jì)方法。
2.教學(xué)中充分調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性
學(xué)生只有對(duì)C語(yǔ)言程序有濃厚的興趣,才會(huì)積極和創(chuàng)造性地學(xué)習(xí)??蓮囊韵聨讉€(gè)方面探討:
(1)強(qiáng)調(diào)學(xué)生學(xué)習(xí)C語(yǔ)言的重要性。突出教學(xué)重點(diǎn),使學(xué)生明確學(xué)習(xí)任務(wù)。在首次課堂教學(xué)中,教師一定要向?qū)W生講解清楚C語(yǔ)言課程的教學(xué)目標(biāo)(為什么學(xué)習(xí)編程或程序設(shè)計(jì))。對(duì)于C語(yǔ)言程序設(shè)計(jì)課程的教學(xué)目標(biāo),可有如下三方面的講解,學(xué)習(xí)基本的編程知識(shí)、培養(yǎng)求解問題的能力和具備一定的創(chuàng)新素質(zhì)。知識(shí)的傳授和學(xué)習(xí)應(yīng)融入問題求解中;問題求解能力是創(chuàng)新的基礎(chǔ)。
(2)結(jié)合《C語(yǔ)言全國(guó)計(jì)算機(jī)等級(jí)考試》的試題庫(kù)進(jìn)行教學(xué),學(xué)生學(xué)習(xí)起來(lái)更有動(dòng)力。試題庫(kù)包括筆試試題庫(kù)和上機(jī)試題庫(kù)。試題庫(kù)按章節(jié)分類,題目類型以程序設(shè)計(jì)為主。筆試題型有單項(xiàng)選擇、程序分析、程序填空、程序改錯(cuò)和程序設(shè)計(jì),上機(jī)題型有程序改錯(cuò)、程序填空和程序設(shè)計(jì)。
(3)利用Visual c++6.0工具進(jìn)行C語(yǔ)言程序教學(xué),培養(yǎng)學(xué)生的學(xué)習(xí)興趣。VC是一種基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境,是廣泛使用的一種開發(fā)工具。VC程序的兩種模式是WINAPI方式和MFC方式。應(yīng)用這兩種模式能夠有效提高教學(xué)質(zhì)量,激發(fā)學(xué)生的學(xué)習(xí)興趣。
3.教學(xué)內(nèi)容的設(shè)置
上課內(nèi)容安排不盡合理,對(duì)于實(shí)踐教學(xué)環(huán)節(jié)重視不夠,難以提高學(xué)生的積極性。教師應(yīng)理論聯(lián)系實(shí)際,注重編程實(shí)現(xiàn)的示范性,讓學(xué)生清楚地看到教師編寫代碼和程序調(diào)試的過程和運(yùn)行結(jié)果。上課安排內(nèi)容應(yīng)包括兩部分:一部分為學(xué)習(xí)基本知識(shí),對(duì)基礎(chǔ)知識(shí)的理解和掌握。另一部分是理論聯(lián)系實(shí)際,對(duì)實(shí)際案例問題的分析引導(dǎo)學(xué)生,并且案例留有思考空間,使學(xué)生舉一反三,培養(yǎng)學(xué)生創(chuàng)造性思考的能力。比如在第一次課告訴學(xué)生C語(yǔ)言的十四種語(yǔ)句,既讓學(xué)生對(duì)C語(yǔ)言有全面的認(rèn)識(shí),又消除學(xué)生對(duì)C語(yǔ)言的畏難情緒。C語(yǔ)言的語(yǔ)句概括起來(lái)只有十四種,即定義變量語(yǔ)句、賦值語(yǔ)句、返回語(yǔ)句、函數(shù)聲明語(yǔ)句、函數(shù)調(diào)用語(yǔ)句、分支(選擇)語(yǔ)句(共三種分支語(yǔ)句)、循環(huán)語(yǔ)句(共三種循環(huán)語(yǔ)句)、break語(yǔ)句、Conitnue語(yǔ)句和復(fù)合語(yǔ)句。所有的C程序,都是由其中的某些語(yǔ)句組成的。在具體介紹這些語(yǔ)句的時(shí)候,一定要完整清楚地列出各種語(yǔ)句的語(yǔ)法格式。以后講C程序的時(shí)候,會(huì)提問學(xué)生這個(gè)程序中包含哪些C語(yǔ)句,學(xué)生比較容易看明白C程序的語(yǔ)句組成,幫助學(xué)生很快讀懂程序,有利于改正學(xué)生編寫程序時(shí)的常見語(yǔ)法錯(cuò)誤。
4.實(shí)驗(yàn)指導(dǎo)書建設(shè)
學(xué)習(xí)C語(yǔ)言的很多學(xué)生都認(rèn)為概念易懂,程序難寫,其實(shí)主要是缺乏足夠的實(shí)踐和練習(xí)。依據(jù)主教材結(jié)構(gòu)和實(shí)際需要,上機(jī)課結(jié)合課本《C語(yǔ)言程序設(shè)計(jì)上機(jī)指導(dǎo)》進(jìn)行相關(guān)和有趣的案例的程序運(yùn)行。學(xué)生分析算法、畫出流程圖到寫出程序,并親自運(yùn)行出結(jié)果,會(huì)給學(xué)生很大的成就感。要將計(jì)算思維的方法應(yīng)用到程序設(shè)計(jì),設(shè)計(jì)各種算法以實(shí)現(xiàn)功能,并拓寬思路,掌握C語(yǔ)言的概念和編程方法。
5.案例設(shè)計(jì)與計(jì)算思維相結(jié)合
學(xué)習(xí)C語(yǔ)言,目的不是僅僅懂得一門程序設(shè)計(jì)語(yǔ)言,更重要的是讓學(xué)生的編程思維得到鍛煉和提高。C語(yǔ)言學(xué)習(xí)分成以下三個(gè)循序漸進(jìn)的部分:第一部分是入門,主要介紹C語(yǔ)言程序的基本結(jié)構(gòu)、數(shù)據(jù)的表達(dá)方式、基本表達(dá)式語(yǔ)句、C語(yǔ)言程序的運(yùn)行方式等。這部分可以設(shè)計(jì)由簡(jiǎn)單表達(dá)式語(yǔ)句組成的按順序執(zhí)行的程序。第二部分是程序的基本結(jié)構(gòu),主要介紹程序設(shè)計(jì)的簡(jiǎn)單算法表示方法,分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。這部分能用計(jì)算思維的方法,設(shè)計(jì)簡(jiǎn)單的算法,根據(jù)算法編寫程序,掌握思考問題和解決問題的方法。第三部分是程序設(shè)計(jì)方法和手段的提高,主要介紹程序的模塊化實(shí)現(xiàn)方法和更多的程序設(shè)計(jì)方法。這部分能采用計(jì)算思維的方式掌握模塊化的程序設(shè)計(jì)方法,對(duì)問題進(jìn)行分解,靈活地使用指針、結(jié)構(gòu)、文件、位運(yùn)算等方法編寫程序。
6.案例設(shè)計(jì)實(shí)例
編寫程序計(jì)算學(xué)生年齡的遞歸函數(shù):已知第一位學(xué)生年齡最小為10歲,其余學(xué)生一個(gè)比一個(gè)大2歲,求第5位學(xué)生的年齡。分析得到的遞歸公式如下:
age=10(n=1)age(n-1)+2(n>1)
在遞歸公式中,使用數(shù)字1為回歸的條件,使用IFELSE語(yǔ)句決定是遞推還是回歸。
根據(jù)問題得出流程圖和程序?yàn)椋?/p>
只有寫出遞歸算法的數(shù)學(xué)公式,才能編寫出遞歸函數(shù),從而很容易根據(jù)遞歸問題描述寫出遞歸公式,進(jìn)而寫出遞歸程序。
7.結(jié)語(yǔ)
“基于問題求解的C語(yǔ)言”教學(xué)模式,隨著我國(guó)計(jì)算機(jī)技術(shù)的應(yīng)用和發(fā)展,為了適應(yīng)社會(huì)的需求,培養(yǎng)學(xué)生解決問題的能力,增強(qiáng)學(xué)生自主能動(dòng)性和動(dòng)手操作能力,讓學(xué)生成為社會(huì)的技能型人才,都是有益的。實(shí)踐證明,借助流程圖表達(dá)算法,能讓學(xué)生更好地理解結(jié)構(gòu)化程序設(shè)計(jì)的思想,更好地掌握C程序設(shè)計(jì)的核心方法。
參考文獻(xiàn):
[1]李麗娟.C語(yǔ)言程序設(shè)計(jì)教程實(shí)驗(yàn)指導(dǎo)與習(xí)題解答[M].北京:人民郵電出版社,2013.
[2]譚浩強(qiáng).C程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,1999.
[3]魏書堤,趙輝煌,鄧紅衛(wèi).基于計(jì)算思維的C語(yǔ)言教學(xué)案例設(shè)計(jì)[J].當(dāng)代教育理論與實(shí)踐,2014(3).
[4]但志平,汪東,王安慧,任小燕.地方高校C語(yǔ)言教學(xué)改革的探討與分析[J].教育教學(xué)論壇,2014.5.
[5]楊柳,鐘誠(chéng).C語(yǔ)言教學(xué)新思路[J].大眾科技,2014(5).
[6]秦玉平,馬靖善.“C語(yǔ)言程序設(shè)計(jì)”課程教材建設(shè)與教學(xué)方法研究[J].計(jì)算機(jī)教育,2010(4).