馬文霞
(鶴崗師范高等??茖W(xué)校,黑龍江 鶴崗 154100)
反向教學(xué)法是相對(duì)于傳統(tǒng)的順式教學(xué)法而言的一種教學(xué)方法,它改變了傳統(tǒng)教學(xué)中從已知原因去探尋結(jié)果的過程,而是根據(jù)已知結(jié)果尋求結(jié)果產(chǎn)生的原因,這種方法有助于學(xué)生加深對(duì)所學(xué)知識(shí)的理解和掌握。反向教學(xué)法也可以理解為是“反其道而行之”的教學(xué)方法,簡(jiǎn)單說(shuō)是將人們?cè)缫蚜?xí)慣的沿著事物發(fā)展的正方向去思考問題并尋求解決方法這一順序反過來(lái)。其實(shí),對(duì)于某些問題,尤其是一些特殊問題,從結(jié)論往回推,倒過來(lái)思考,從求解回到已知條件,反過去想或許會(huì)使問題簡(jiǎn)單化。
《C語(yǔ)言》是一種用于計(jì)算機(jī)程序設(shè)計(jì)的編程語(yǔ)言,在高校教學(xué)中常被用作程序設(shè)計(jì)的語(yǔ)言基礎(chǔ)課。《C語(yǔ)言》本身是一門理論性很強(qiáng),又依賴于大量上機(jī)實(shí)踐的語(yǔ)言。學(xué)生在學(xué)習(xí)中,普遍反映知識(shí)不易掌握理解,甚至于無(wú)法獨(dú)立編程、運(yùn)用知識(shí)解決實(shí)際問題。
傳統(tǒng)的課堂教學(xué)中,教師多是依照教材編寫順序,先講解變量定義,再講變量定義示例,最后是程序舉例講解變量在程序中如何應(yīng)用。如此的教學(xué)順序,對(duì)于比較簡(jiǎn)單的內(nèi)容,學(xué)生能理解掌握,但對(duì)于較復(fù)雜的部分,如指針,就不能收到良好的教學(xué)效果。
如果我們打破常規(guī)的教學(xué)順序,反其道而行之,結(jié)果又會(huì)如何呢?
接下來(lái),談?wù)劚救嗽贑語(yǔ)言課程教學(xué)中應(yīng)用反向教學(xué)法的一些經(jīng)驗(yàn)體會(huì)。
1在講解變量定義語(yǔ)法格式中運(yùn)用反向教學(xué)法
C語(yǔ)言中規(guī)定,變量在使用之前必須先定義,即給出數(shù)據(jù)類型,讓編譯系統(tǒng)根據(jù)數(shù)據(jù)類型為其分配內(nèi)存空間。
傳統(tǒng)的教學(xué)過程中,是先講解指針變量定義的一般形式,然后依據(jù)定義格式,再給出一些指針變量定義的示例。本人認(rèn)為此種教學(xué)順序不能很有效地讓學(xué)生深刻理解指針變量定義及其使用方法。本人在課堂教學(xué)中曾采用如下過程講解二級(jí)指針。
首先,給出變量應(yīng)用實(shí)例示意圖:的,即基類型為int,因此完整的p變量的定義形式為:int*p;
變量q指向變量p,可知q是指針變量,得出部分定義形式:*q
由于指針變量q所指向的變量p的類型是int*,因此完整的q變量定義形式為:int**q;
C語(yǔ)言中規(guī)定,指針變量在使用之前不僅需要定義說(shuō)明,而且必須賦予具體的值,未經(jīng)賦值的指針變量不能使用,否則可能會(huì)造成系統(tǒng)混亂,甚至死機(jī)。
由指針p指向變量a知,指針p的值是a的地址&a,可由如下賦值語(yǔ)句實(shí)現(xiàn):p=&a;
同理,由指針q指向變量p可知,q的值是p的地址&p,可由如下賦值語(yǔ)句實(shí)現(xiàn):q=&p;
由上綜述,得出變量a、p、q的定義及賦值如下:
int a;
int*p;
int**q;
p=&a;
q=&p;
由int**q;可推出二級(jí)指針變量定義的一般形式是:
類型標(biāo)識(shí)符 **指針變量名;
反向教學(xué)法雖然違背了人們?cè)跐撘颇幸呀?jīng)形成的研究問題的順序,也就是所謂的正序,但是因?yàn)檫@一特點(diǎn),可以將復(fù)雜問題簡(jiǎn)單化,使得許多依靠順式不能解決或難以解決的問題可以輕松的解決,并可以加深對(duì)問題的進(jìn)一步認(rèn)識(shí),能夠充分提高學(xué)生主動(dòng)學(xué)習(xí)的興趣。
2在講解程序填空題時(shí)運(yùn)用反向教學(xué)法
根據(jù)程序運(yùn)行結(jié)果完成程序填空題。學(xué)生在做此類題時(shí)往往一頭霧水,不知該從何處下手,此時(shí)巧妙運(yùn)用反向教學(xué)法可能會(huì)收到意想不到的效果。例如,在C語(yǔ)言教材中有一道這樣的程序填空題,要求實(shí)現(xiàn)打印出如下所示三角形,完成填空。
}
a、p、q均是變量名,且已分配空間。由示意圖的指向可看出:變量q指向變量p,變量p指向變量a,已知a存儲(chǔ)單元中存放整數(shù)值10(嚴(yán)格的說(shuō)是10的二進(jìn)制形式),可得出a是整型變量,定義形式為:int*a;
變量p是指向變量a的,指向關(guān)系是通過地址來(lái)體現(xiàn)的,可以說(shuō),某變量的地址“指向”該變量單元。由此可知,變量p存儲(chǔ)單元中存放的是變量a的地址,即變量p是存放地址的變量也就是指針變量,得出變量p的部分定義形式:*p
由于指針變量p所指向的變量a是整型
2.1 學(xué)情分析
此程序填空題,是由方風(fēng)波主編、地質(zhì)出版社出版的《C語(yǔ)言程序設(shè)計(jì)》教材中,第三章結(jié)構(gòu)化程序設(shè)計(jì)的課后習(xí)題(本人稍加修改)。學(xué)生此時(shí)已經(jīng)學(xué)過結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。對(duì)構(gòu)成循環(huán)結(jié)構(gòu)的while語(yǔ)句、do-while語(yǔ)句、for語(yǔ)句的語(yǔ)法格式、執(zhí)行過程都已了解并掌握,并能分析出較簡(jiǎn)單的循環(huán)結(jié)構(gòu)的程序的執(zhí)行結(jié)果。但是對(duì)程序填空題來(lái)說(shuō),某些程度上也考驗(yàn)學(xué)生的編程能力。學(xué)生此時(shí)還沒具有獨(dú)立編程的能力,因此做此題時(shí)困難很大。
2.2 運(yùn)用反向教學(xué)法分析完成
從打印輸出的結(jié)果要求可以很明顯的看出,結(jié)果呈9行顯示,每行顯示的數(shù)據(jù)值及數(shù)據(jù)個(gè)數(shù)與行號(hào)相等。那要如何實(shí)現(xiàn)呢?程序中使用了雙重嵌套的for循環(huán)語(yǔ)句,嵌套循環(huán)執(zhí)行過程的特點(diǎn)是外層循環(huán)執(zhí)行一次,內(nèi)層循環(huán)執(zhí)行一輪。如果能用嵌套循環(huán)的外層循環(huán)、內(nèi)層循環(huán)分別代表行號(hào)及控制每行中可以輸出數(shù)據(jù)個(gè)數(shù),而內(nèi)層循環(huán)的循環(huán)體語(yǔ)句用來(lái)實(shí)現(xiàn)打印輸出數(shù)據(jù)及換行,問題就可以引刃而解了。
也就是說(shuō),用外層循環(huán)執(zhí)行9次表示9行,i是循環(huán)控制變量,初始值為1,循環(huán)執(zhí)行9次,可得出滿足循環(huán)控制條件的i的最大值可取得9。外層循環(huán)的循環(huán)體由for語(yǔ)句和“printf(“ ’);”語(yǔ)句組成,”printf(“ ’);”語(yǔ)句可實(shí)現(xiàn)換行,即在輸出相應(yīng)個(gè)數(shù)數(shù)據(jù)后換行;換言之,外層循環(huán)的循環(huán)體中的for語(yǔ)句可實(shí)現(xiàn)打印輸出若干數(shù)據(jù)。數(shù)據(jù)個(gè)數(shù)由循環(huán)次數(shù)決定,由于每行輸出數(shù)據(jù)個(gè)數(shù)不同,也就是決定輸出數(shù)據(jù)個(gè)數(shù)的for語(yǔ)句的循環(huán)次數(shù)不同,但控制數(shù)據(jù)輸出個(gè)數(shù)的循環(huán)次數(shù)恰好與其所在行的行號(hào)相同,作為循環(huán)控制變量的j的初始值為1,每次循環(huán)執(zhí)行后循環(huán)控制變量都加1,由此可得出j的最大取值與控制行號(hào)的i變量的值相等,但循環(huán)控制表達(dá)式中使用的運(yùn)算符是“<”,所以第二個(gè)空中應(yīng)填寫“i+1”;輸出函數(shù)用來(lái)輸出數(shù)據(jù),數(shù)據(jù)值與其所在行的行號(hào)相同,因此完整的輸出語(yǔ)句就是“printf(“%d”,i);”。
在完成此程序填空題的過程中,我們巧妙地運(yùn)用了反向教學(xué)法,從結(jié)果出發(fā),層層深入,逆推出需要達(dá)到的目標(biāo),當(dāng)用正向思考方式無(wú)從下手時(shí),反向思考有時(shí)可以起到意想不到的妙用。
在課堂教學(xué)中適當(dāng)?shù)膽?yīng)用反向教學(xué)法,有助于學(xué)生加深對(duì)所學(xué)知識(shí)的理解和掌握,可以提高教學(xué)效果;但不能一味的全盤否定順式教學(xué)法而全部應(yīng)用反向教學(xué)法。它只是眾多教學(xué)方法中的一種,它并不是十全十美的。選擇何種教學(xué)方法,應(yīng)該考慮知識(shí)內(nèi)容的特點(diǎn)、學(xué)生的知識(shí)基礎(chǔ)、課堂教學(xué)環(huán)境等等。選擇恰當(dāng)?shù)囊环N或幾種教學(xué)方法,相互之間相輔相成,不但能夠活躍課堂氣氛、提高學(xué)生學(xué)習(xí)興趣,還能夠加深學(xué)生對(duì)知識(shí)的理解,更重要的是能夠幫助教師順利圓滿地完成教學(xué)任務(wù)。
[1]方風(fēng)波.C語(yǔ)言程序設(shè)計(jì)[M].地質(zhì)出版社.北京.2009
[2]逆向思維法.來(lái)源:百度百科
[3]反向教學(xué)法在高中生物教學(xué)中的應(yīng)用初探.來(lái)源:全國(guó)中小學(xué)教師繼續(xù)教育網(wǎng).