管榮平
摘 要:隨著社會(huì)的不斷發(fā)展,中職生的學(xué)習(xí)動(dòng)機(jī)、學(xué)習(xí)方式和學(xué)習(xí)興趣等不斷改變。因而,中職學(xué)校專(zhuān)業(yè)課的教學(xué)必須進(jìn)行改革,改革傳統(tǒng)的教學(xué)理念、教學(xué)方法和教學(xué)內(nèi)容,體現(xiàn)職業(yè)特點(diǎn),形成具有職業(yè)特色的課程觀,為社會(huì)培養(yǎng)出更多素質(zhì)高、技能強(qiáng)的一線勞動(dòng)者。在教學(xué)中嘗試?yán)们榫辰虒W(xué)法進(jìn)行C語(yǔ)言教學(xué),取得了良好的效果。
關(guān)鍵詞:情境教學(xué)法;中職生;C語(yǔ)言教學(xué)
C語(yǔ)言是職業(yè)學(xué)校計(jì)算機(jī)專(zhuān)業(yè)學(xué)生學(xué)習(xí)的第一門(mén)程序語(yǔ)言課。在實(shí)際教學(xué)中,筆者發(fā)現(xiàn)大多數(shù)職業(yè)學(xué)校學(xué)生學(xué)習(xí)C語(yǔ)言都有一定的困難。運(yùn)用一般的教學(xué)方法很難讓學(xué)生很好地理解并掌握程序設(shè)計(jì)知識(shí),原因主要有:
一、創(chuàng)設(shè)情境,提出問(wèn)題
【教師】世界杯足球比賽前裁判都會(huì)通過(guò)拋硬幣的方式來(lái)決定雙方的場(chǎng)地和哪方先開(kāi)球,今天我們利用隨機(jī)函數(shù)來(lái)模擬拋硬幣。
【學(xué)生板書(shū)演示】
#include
#include
void main()
{ int x;
x=(rand()%2);
if(x==0)print f(″硬幣為正面\n″); else printf(″硬幣為反面\n″);
}
【經(jīng)驗(yàn)小結(jié)】通過(guò)中職生感興趣的世界杯足球比賽,將學(xué)生的注意力吸引到今天的教學(xué)內(nèi)容中。這種導(dǎo)入方式在教學(xué)過(guò)程中效果非常好。
【教師引導(dǎo)】這個(gè)例題是采用隨機(jī)函數(shù)rand()產(chǎn)生一個(gè)[0,32767]之間的隨機(jī)整數(shù)。然后采用模除2的方式,求得x的值為隨機(jī)數(shù)0或1。我們可以用0表示硬幣的正面,用1表示硬幣的反面,因此可以采用隨機(jī)函數(shù)來(lái)模擬拋硬幣。
這時(shí),教師可以進(jìn)一步引導(dǎo)學(xué)生深入思考。如果要隨機(jī)產(chǎn)生10個(gè)、50個(gè)或者更多的隨機(jī)數(shù)時(shí),再用這種方法行嗎?又將如何解決?
【例1】將硬幣拋擲100次,統(tǒng)計(jì)正反面出現(xiàn)的次數(shù),請(qǐng)思考如何利用C語(yǔ)言編程實(shí)現(xiàn)?
【教師引導(dǎo)】根據(jù)剛才的分析,產(chǎn)生隨機(jī)數(shù)用隨機(jī)函數(shù),如果產(chǎn)生多個(gè)隨機(jī)數(shù),我們可以用循環(huán)結(jié)構(gòu)實(shí)現(xiàn)。
【經(jīng)驗(yàn)小結(jié)】教材中只列出了隨機(jī)函數(shù)的作用,沒(méi)有陳述隨機(jī)函數(shù)的具體應(yīng)用,學(xué)生理解起來(lái)很困難。因此,在教學(xué)中要提出貼近學(xué)生生活的程序設(shè)計(jì)問(wèn)題,讓學(xué)生深刻體會(huì)編寫(xiě)程序可以解決身邊的事情。
二、創(chuàng)設(shè)情境,講授新知
【例2】模擬擲骰子的情況,擲100次,統(tǒng)計(jì)其每一面出現(xiàn)的次數(shù)。該怎么樣來(lái)實(shí)現(xiàn)呢?
教師講授新的知識(shí),給出一個(gè)表達(dá)式:x=(rand)%(n-m+1)+n),其中m為產(chǎn)生隨機(jī)數(shù)的起始值,n為產(chǎn)生隨機(jī)數(shù)的終止值。如:產(chǎn)生[1,6]之間的數(shù),其表達(dá)式為x=(rand)%(6-1+1)+1)。
【教師】現(xiàn)在請(qǐng)一個(gè)學(xué)生利用上述表達(dá)式完成例2,其余學(xué)生獨(dú)立完成,有困難的學(xué)生可以進(jìn)行小組討論或師生討論。
【學(xué)生板書(shū)】略。
【教師】通過(guò)新學(xué)的表達(dá)式,我們可以產(chǎn)生任意范圍的隨機(jī)數(shù),只要修改相應(yīng)的m和n即可。那么,剛才我們做的例1也可以用新學(xué)的表達(dá)式來(lái)完成,應(yīng)該怎么樣?
【學(xué)生】x=(rand)%(1-0+1)+0),產(chǎn)生0和1兩個(gè)數(shù),0可以表示正面,1則可表示反面。
【經(jīng)驗(yàn)小結(jié)】學(xué)生的程序設(shè)計(jì)內(nèi)容應(yīng)當(dāng)是現(xiàn)實(shí)的、貼近學(xué)生生活的,通過(guò)程序設(shè)計(jì)學(xué)生可以完成一些簡(jiǎn)單的、學(xué)生感興趣的問(wèn)題。讓學(xué)生在輕松的環(huán)境中學(xué)習(xí)程序設(shè)計(jì),并體驗(yàn)成功的喜悅,使他們產(chǎn)生更大的興趣去學(xué)習(xí)程序設(shè)計(jì),而不是整天面對(duì)教材上枯燥的例題。同時(shí)引導(dǎo)學(xué)生采用小組合作的方式,進(jìn)行討論,解決問(wèn)題。不知不覺(jué),培養(yǎng)學(xué)生的團(tuán)隊(duì)合作精神。
三、情境創(chuàng)設(shè),鞏固新知
【例3】讓所有學(xué)生(共45人)利用計(jì)算機(jī)程序進(jìn)行抽獎(jiǎng),其中一等獎(jiǎng)5名,二等獎(jiǎng)10名,三等獎(jiǎng)15名,要求每個(gè)學(xué)生不能重復(fù)獲獎(jiǎng)。
【師生共同分析】我們要隨機(jī)產(chǎn)生30個(gè)不重復(fù)的數(shù)字,數(shù)字范圍剛好應(yīng)是學(xué)號(hào)的范圍,即[1,45]。在產(chǎn)生隨機(jī)數(shù)的時(shí)候,每產(chǎn)生一個(gè)數(shù)都要與前面已產(chǎn)生的隨機(jī)數(shù)進(jìn)行比較,若相同則這個(gè)數(shù)不能要,則需重新產(chǎn)生一個(gè)。其中判斷是否重復(fù)與判斷是否為“素?cái)?shù)”這個(gè)程序差不多。產(chǎn)生符合條件的數(shù)后放入數(shù)組,最后把前5個(gè)作為一等獎(jiǎng),其后的10個(gè)作為二等獎(jiǎng),余下的都為三等獎(jiǎng)。
【經(jīng)驗(yàn)小結(jié)】在C語(yǔ)言程序設(shè)計(jì)教學(xué)中,教師要通過(guò)創(chuàng)設(shè)問(wèn)題情境,培養(yǎng)學(xué)生的創(chuàng)新思維。這里的關(guān)鍵在于設(shè)計(jì)好例題。在學(xué)生解決問(wèn)題的途中,巧設(shè)新的矛盾,引導(dǎo)他們探究矛盾,尋找新的解決途徑。因此,教師精心創(chuàng)設(shè)問(wèn)題情境是培養(yǎng)學(xué)生創(chuàng)新思維的必要途徑之一。
參考文獻(xiàn):
[1]譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì).4版.清華大學(xué)出版社,2010.
[2]陳靜,楊青,鄭世玨.高級(jí)語(yǔ)言程序設(shè)計(jì)與應(yīng)用教程.清華大學(xué)出版社,2008.