趙燕香
摘 要:C語言程序設(shè)計是一門基礎(chǔ)的程序設(shè)計語言,針對程序本身枯燥、難懂這個問題,就職業(yè)高中的程序語言課堂教學(xué)理論與實踐進行思考,闡述C語言程序設(shè)計的幾種教學(xué)方法,對提高教學(xué)質(zhì)量起到了促進作用。
關(guān)鍵詞:循序漸進式導(dǎo)入法;比較教學(xué)法;四步教學(xué)法;C語言教學(xué)
結(jié)構(gòu)化的控制語句、靈活多變的編程方法是C語言的特點,相對普高而言,職高生文化基礎(chǔ)和理解能力相對薄弱,因此,如何在C語言教學(xué)中啟發(fā)并訓(xùn)練學(xué)生的編程思維,是每個教師應(yīng)深思的問題。以下是筆者在C語言教學(xué)中的一些看法,愿和同行探討。
一、采用四步教學(xué)法,上好每一堂課
1.導(dǎo)入
了解學(xué)生已構(gòu)建的知識結(jié)構(gòu)、專業(yè)水準(zhǔn)等情況;由簡單問題展示新教學(xué)內(nèi)容的實際功效。激發(fā)學(xué)生對新知識的學(xué)習(xí)興趣,是任務(wù)執(zhí)行的最大目標(biāo)。
2.講解示范
要讓學(xué)生理解新知識的應(yīng)用機理,向?qū)W生示范操作步驟,講述操作的實現(xiàn)過程。
3.模仿
主要由學(xué)生進行學(xué)習(xí)活動,即按照教師的示范,學(xué)生自己動手操作,教師指導(dǎo)。
4.總結(jié)練習(xí)
教師對整個教學(xué)活動進行歸納總結(jié),對教學(xué)重點、難點進行反復(fù)講解,也可以了解學(xué)生對新知識的掌握程度。
二、注重教學(xué)方法
1.循序漸進導(dǎo)入法
遵從學(xué)生認知事物的心理、已構(gòu)建的知識結(jié)構(gòu)并由日常生活問題引入新課內(nèi)容,如在講關(guān)系運算符后講邏輯運算符和邏輯表達式可以這樣進行:在講關(guān)系運算符的優(yōu)先級和結(jié)合性后,舉例分析下例程序段中表達式的值:
分析:同級運算左結(jié)合性,故先算a 2.模仿比較法 主要由學(xué)生進行學(xué)習(xí)活動,即按照教師的示范,學(xué)生自己動手操作,教師指導(dǎo)。在此基礎(chǔ)上,學(xué)生自己通過練習(xí),逐步對新學(xué)知識達到完全掌握和熟練運用的程度。 如,先以1+2+3+4+……+10為例,分析計算機解題的思維方式,講解while循環(huán)結(jié)構(gòu)的特點、語句語法及應(yīng)用方法,介紹流程圖畫法,描述計算機解題步驟,寫出程序代碼。然后擦去代碼要求學(xué)生練習(xí)1*2*3*4……*10求積的程序,以訓(xùn)練學(xué)生知識的理解掌握和遷移能力。 3.范例比較探究教學(xué)法 范例比較教學(xué)法是指根據(jù)好的、特別清楚的、典型的例子進行教學(xué),使學(xué)生能依靠例子來掌握新知識。比較則是把與該范例相關(guān)的另一類語言的編寫程序列舉出來相比較。問題探究教學(xué)法即教師根據(jù)教學(xué)要求和教學(xué)的重點、難點,設(shè)計問題來組織教學(xué),使學(xué)生在教師引導(dǎo)下,以“問題解決者”的角色積極主動地參與課堂研討,提出問題、分析和解決問題,從而啟發(fā)學(xué)生思維和培養(yǎng)學(xué)生能力的一種教學(xué)方法。問題探究教學(xué)法在C語言程序設(shè)計教學(xué)中是一種相當(dāng)有用的教學(xué)方法,能夠充分發(fā)揮學(xué)生的思維,突出學(xué)生的主體作用,能有效地培養(yǎng)學(xué)生的分析問題與解決問題的能力。 例如,我們學(xué)習(xí)了for循環(huán)結(jié)構(gòu)后,如有求下列表達式的值:1-1/2+1/3-1/4+……-1/20,那么學(xué)生可能會感覺無從下手。但我們以下面題目為基礎(chǔ)步步深入,列舉若干例子使它們彼此聯(lián)系又略顯不同,就可以逐步引導(dǎo)學(xué)生完成較難的編程。 (1)我們可以通過下題作為基礎(chǔ) 例1:求表達式1+2+3+4+…+20的值。 分析:表達式的各項之間相加,但前一項比后一項向上遞增1的順序,于是就可以設(shè)初值為1,終值為20,循環(huán)變量i的步長為1,放和的變量為sum其初值為0。程序代碼如下: (2)通過下例兩題做比較 例2:求表達式1-2+3-4+……-20的值? 分析:比較它與例1的相同點和不同點:相同點是它們都是求表達式的值,不同的地方是前面都是加,而例2是加減相交錯,探討下我們是否可以將它理解為:1+(-1)*2+3(-1)*4+……(-1)*20。這時就會要運到標(biāo)志變量flag=1,程序代碼只變循環(huán)就可,如下: 分析:比較它與例1的相同點和不同點:相同點是它們都是求表達式的值,不同的地方是例1是整數(shù)相加,而例2是可以看作是:1/1+1/2+1/3+1/4+…+1/20,是將其變?yōu)榉謹?shù)相加,同時應(yīng)注意sum應(yīng)改變數(shù)據(jù)類型實型,通過上面探討解決問題,結(jié)合例1、例2,就能正確地引導(dǎo)學(xué)生編出程序。 課后思考作業(yè):求表達式1/1-1/3+1/5-1/7+…-1/21的值? 上述幾種教學(xué)方法打破了以教材為中心的傳統(tǒng)教學(xué)模式,而是以精選出的實例或生活中的例子為中心,把學(xué)習(xí)的重點放在范例的講述上,把要學(xué)習(xí)的語法結(jié)構(gòu)和概念融入具體范例中來講解。整個教學(xué)過程中強調(diào)學(xué)以致用,在應(yīng)用中學(xué)習(xí),從而避免枯燥、繁雜的理論說教,不僅能增進學(xué)生的學(xué)習(xí)積極性,而且對提高學(xué)生綜合分析和解決實際問題的能力有很大幫助。 教學(xué)有法,教無定法,只要教學(xué)得法。靈活地選用合適的教學(xué)方法,或?qū)⒍喾N教學(xué)方法優(yōu)化組合,這樣才能讓課堂教學(xué)沖破課堂,使學(xué)生逐步對新學(xué)知識達到完全掌握和熟練運用的程度。