摘 要:循環(huán)結(jié)構(gòu)是C語言程序設(shè)計課程中極為重要的一部分教學(xué)內(nèi)容,也是現(xiàn)實生活中解決實際問題應(yīng)用極為廣泛的一種控制結(jié)構(gòu)。本文從循環(huán)結(jié)構(gòu)在C語言程序設(shè)計課程中的地位作用入手,提出了循環(huán)控制的教學(xué)目標(biāo)、學(xué)習(xí)要求以及重點難點;給出了主要教學(xué)內(nèi)容及學(xué)時分配;結(jié)合授課過程中的導(dǎo)入環(huán)節(jié)、新授環(huán)節(jié)、鞏固環(huán)節(jié)描述了多種教學(xué)方法在循環(huán)控制結(jié)構(gòu)教學(xué)中的綜合運(yùn)用,最后對學(xué)情學(xué)法做出了簡要總結(jié)。
關(guān)鍵詞:C語言;循環(huán)結(jié)構(gòu);教學(xué)
中圖分類號:G712 文獻(xiàn)標(biāo)識碼:A
1引言(Introduction)
循環(huán)結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計的基本結(jié)構(gòu)之一,它和順序結(jié)構(gòu)、選擇結(jié)構(gòu)共同作為各種復(fù)雜程序的基本構(gòu)造單元,合稱為C語言的三大邏輯結(jié)構(gòu)[1]。三大邏輯結(jié)構(gòu)當(dāng)中,循環(huán)結(jié)構(gòu)最為重要,因為在日常生活的許多問題中都需要用到循環(huán)控制。例如,要輸入全校學(xué)生成績;求若干個數(shù)之和;迭代求根等等[2]。顯然,為解決這些實際問題而編寫的應(yīng)用程序絕大多數(shù)也就都包含循環(huán),所以熟練掌握循環(huán)結(jié)構(gòu)的概念及使用是C語言程序設(shè)計最基本的要求。同時它與后續(xù)章節(jié)如數(shù)組、函數(shù)也有很好的銜接點,本章內(nèi)容如果掌握得好,會大大減少后續(xù)章節(jié)學(xué)習(xí)的時間和難度。接下來,本文就從教學(xué)大綱、教學(xué)內(nèi)容、教學(xué)過程等方面展開對C語言循環(huán)結(jié)構(gòu)的教學(xué)探討。
2 教學(xué)大綱(Teaching syllabus)
2.1 教學(xué)目標(biāo)
結(jié)合本章的內(nèi)容和特點,從如下三個方面制定了教學(xué)目標(biāo):
(1)認(rèn)知目標(biāo):熟練掌握三種循環(huán)語句的運(yùn)用、掌握break和continue語句的運(yùn)用。
(2)能力目標(biāo):培養(yǎng)學(xué)積極探索、主動學(xué)習(xí)以及相互間分工合作的能力。
(3)情感目標(biāo):讓學(xué)生在展示自我程序的過程中感受成功的喜悅,同時讓學(xué)生在相互評價中直面程序設(shè)計存在的問題,通過不斷地嘗試激發(fā)學(xué)習(xí)熱情,通過不斷地探索培養(yǎng)學(xué)習(xí)興趣。
2.2 學(xué)習(xí)要求
學(xué)習(xí)本章要求學(xué)生已經(jīng)掌握前幾章的知識,包括:C語言概述、算法基礎(chǔ)、數(shù)據(jù)類型、表達(dá)式與運(yùn)算符、順序結(jié)構(gòu)、選擇結(jié)構(gòu);同時具備上機(jī)熟練應(yīng)用這部分知識的能力。
2.3 重點難點
(1)for、while、do-while循環(huán)語句
(2)循環(huán)的嵌套
(3)break和continue語句
為了有效落實教學(xué)重點、難點,對教材教參作了局部調(diào)整,并采取了相應(yīng)的教學(xué)方法,說明如下。
3 教學(xué)內(nèi)容(Teaching content)
結(jié)合所選教材章節(jié),將“循環(huán)控制”這部分的教學(xué)內(nèi)容確定為如下六節(jié),分配8學(xué)時進(jìn)行學(xué)習(xí),如表1所示。
4 教學(xué)過程(Teaching process)
4.1 導(dǎo)入環(huán)節(jié)
在導(dǎo)入環(huán)節(jié),采用的主要教學(xué)方法是情境教學(xué)法和任務(wù)驅(qū)動法。首先提出模擬情境——期末考試結(jié)束了,任課老師為了檢驗課程教學(xué)效果,想要將學(xué)生分?jǐn)?shù)從百分制轉(zhuǎn)換成五分制(百分制的90—100分轉(zhuǎn)換為五分制的A,80—89分轉(zhuǎn)換為B,70—79分轉(zhuǎn)換為C,60—69分轉(zhuǎn)換為D,60分以下轉(zhuǎn)換為E),該如何操作?隨后啟發(fā)學(xué)生回憶上一章選擇結(jié)構(gòu)中if語句和switch語句的使用方法,編寫出單個學(xué)生分?jǐn)?shù)從百分制到五分制的轉(zhuǎn)換代碼。在此基礎(chǔ)上,提出新的任務(wù),如果要將全班同學(xué)、全年級同學(xué)、甚至是全校同學(xué)的分?jǐn)?shù)都進(jìn)行同樣的轉(zhuǎn)換,該如何減少重復(fù)勞動,簡化操作流程呢?進(jìn)而導(dǎo)入本章的新授內(nèi)容循環(huán)控制,展開下一步的學(xué)習(xí)。
4.2 新授環(huán)節(jié)
在新授環(huán)節(jié),主要采用了對比講述法和現(xiàn)場演示法進(jìn)行學(xué)習(xí)。將while語句、do-while語句、for語句的基本語法格式以及循環(huán)流程描述清楚后,通過現(xiàn)場演示的方法將三種循環(huán)語句對比開來,讓學(xué)生明確其具體的使用方法及相互間的細(xì)微差別。例如針對下面的代碼:
如果變量i的初值是10,那么用while書寫的循環(huán)語句最終運(yùn)行結(jié)果是沒有人任何輸出,而用do-while書寫的循環(huán)語句最終運(yùn)行結(jié)果卻是輸出一句“hello”??梢娫诔踔迪嗤⒀h(huán)條件相同、循環(huán)體也相同的情況下,while和do-while語句可以產(chǎn)生不同的結(jié)果。
同樣還是這段代碼,只將變量i的初值稍微改動,將i的初值由10改為9。這樣改動之后,用while書寫的循環(huán)語句最終運(yùn)行結(jié)果是輸出一句“hello”,用do-while書寫的循環(huán)語句最終運(yùn)行結(jié)果也是輸出一句“hello”??梢娫谶@個例子中,初值相同、循環(huán)條件相同、循環(huán)體也相同的情況下,while和do-while語句又產(chǎn)生了相同的結(jié)果。
通過這樣的對比講述、現(xiàn)場演示不僅加深了學(xué)生對三種循環(huán)語句的理解和掌握,而且還培養(yǎng)了他們根據(jù)實際情況靈活運(yùn)用循環(huán)結(jié)構(gòu)的能力。
4.3 鞏固環(huán)節(jié)
在鞏固環(huán)節(jié),主要采用分組實訓(xùn)的方法夯實基礎(chǔ)、強(qiáng)化技能。分組,即將學(xué)生分成學(xué)習(xí)小組,三五人一組,小組成員中盡量融合不同層次的學(xué)生,這樣有利于先進(jìn)生幫帶后進(jìn)生完成上機(jī)實訓(xùn)任務(wù),最終達(dá)到共同進(jìn)步的效果[3]。除此之外,在小組合作中,還能逐步培養(yǎng)學(xué)生的集體榮譽(yù)感和團(tuán)隊協(xié)作意識,為他們?nèi)蘸笞呱暇蜆I(yè)崗位奠定一定的工作基礎(chǔ)。
5 結(jié)論(Conclusion)
C語言是學(xué)生在大學(xué)期間接觸到的第一門計算機(jī)編程語言,課程進(jìn)行到循環(huán)控制這部分,實際上整個學(xué)期已將近過半,此時學(xué)生的學(xué)習(xí)情況已經(jīng)分出層次,用良莠不齊來形容也不為過。通過觀察可以發(fā)現(xiàn)學(xué)生對本章的內(nèi)容既有畏難情緒,又有求知欲望,這就要求教師能夠起到課堂的主導(dǎo)作用,充分調(diào)動起學(xué)生的求知欲望和學(xué)習(xí)興趣,及大地發(fā)揮學(xué)生的主體作用[4],深入淺出、循序漸進(jìn)地傳道、授業(yè)、解惑,同時綜合運(yùn)用多種教學(xué)方法和教學(xué)手段落實教學(xué)重點、突破教學(xué)難點。學(xué)生則應(yīng)貫徹“三多兩勤”的學(xué)習(xí)方法來完成本部分的學(xué)習(xí),即多讀程序、多寫程序、多上機(jī)調(diào)試程序、勤動腦、勤動手。
參考文獻(xiàn)(References)
[1] 譚浩強(qiáng).C程序設(shè)計(第三版)[M].北京:清華大學(xué)出版社,2005.
[2] 徐東,祁薇,劉海見.《C語言循環(huán)結(jié)構(gòu)》課程教學(xué)設(shè)計研究[J].軟件導(dǎo)刊,2014,13(6):154-156.
[3] 唐紅杰.《UML》課程教學(xué)分析與設(shè)計[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2014(6):241-243.
[4] 秦玉平,馬靖善.“C語言程序設(shè)計”課程教材建設(shè)與教學(xué)方法研究[J].計算機(jī)教育,2010(4):157-159.
作者簡介:
唐紅杰(1979-),女,碩士,講師.研究領(lǐng)域:Web技術(shù),網(wǎng)絡(luò)與通信.