馬文霞
(鶴崗師范高等??茖W(xué)校,黑龍江 鶴崗 154100)
反向教學(xué)法是相對于傳統(tǒng)的順式教學(xué)法而言的一種教學(xué)方法,它改變了傳統(tǒng)教學(xué)中從已知原因去探尋結(jié)果的過程,而是根據(jù)已知結(jié)果尋求結(jié)果產(chǎn)生的原因,這種方法有助于學(xué)生加深對所學(xué)知識的理解和掌握。反向教學(xué)法也可以理解為是“反其道而行之”的教學(xué)方法,簡單說是將人們早已習(xí)慣的沿著事物發(fā)展的正方向去思考問題并尋求解決方法這一順序反過來。其實(shí),對于某些問題,尤其是一些特殊問題,從結(jié)論往回推,倒過來思考,從求解回到已知條件,反過去想或許會使問題簡單化。
《C語言》是一種用于計(jì)算機(jī)程序設(shè)計(jì)的編程語言,在高校教學(xué)中常被用作程序設(shè)計(jì)的語言基礎(chǔ)課。《C語言》本身是一門理論性很強(qiáng),又依賴于大量上機(jī)實(shí)踐的語言。學(xué)生在學(xué)習(xí)中,普遍反映知識不易掌握理解,甚至于無法獨(dú)立編程、運(yùn)用知識解決實(shí)際問題。
傳統(tǒng)的課堂教學(xué)中,教師多是依照教材編寫順序,先講解變量定義,再講變量定義示例,最后是程序舉例講解變量在程序中如何應(yīng)用。如此的教學(xué)順序,對于比較簡單的內(nèi)容,學(xué)生能理解掌握,但對于較復(fù)雜的部分,如指針,就不能收到良好的教學(xué)效果。
如果我們打破常規(guī)的教學(xué)順序,反其道而行之,結(jié)果又會如何呢?
接下來,談?wù)劚救嗽贑語言課程教學(xué)中應(yīng)用反向教學(xué)法的一些經(jīng)驗(yàn)體會。
1在講解變量定義語法格式中運(yùn)用反向教學(xué)法
C語言中規(guī)定,變量在使用之前必須先定義,即給出數(shù)據(jù)類型,讓編譯系統(tǒng)根據(jù)數(shù)據(jù)類型為其分配內(nèi)存空間。
傳統(tǒng)的教學(xué)過程中,是先講解指針變量定義的一般形式,然后依據(jù)定義格式,再給出一些指針變量定義的示例。本人認(rèn)為此種教學(xué)順序不能很有效地讓學(xué)生深刻理解指針變量定義及其使用方法。本人在課堂教學(xué)中曾采用如下過程講解二級指針。
首先,給出變量應(yīng)用實(shí)例示意圖:的,即基類型為int,因此完整的p變量的定義形式為:int*p;
變量q指向變量p,可知q是指針變量,得出部分定義形式:*q
由于指針變量q所指向的變量p的類型是int*,因此完整的q變量定義形式為:int**q;
C語言中規(guī)定,指針變量在使用之前不僅需要定義說明,而且必須賦予具體的值,未經(jīng)賦值的指針變量不能使用,否則可能會造成系統(tǒng)混亂,甚至死機(jī)。
由指針p指向變量a知,指針p的值是a的地址&a,可由如下賦值語句實(shí)現(xiàn):p=&a;
同理,由指針q指向變量p可知,q的值是p的地址&p,可由如下賦值語句實(shí)現(xiàn):q=&p;
由上綜述,得出變量a、p、q的定義及賦值如下:
int a;
int*p;
int**q;
p=&a;
q=&p;
由int**q;可推出二級指針變量定義的一般形式是:
類型標(biāo)識符 **指針變量名;
反向教學(xué)法雖然違背了人們在潛移默化中已經(jīng)形成的研究問題的順序,也就是所謂的正序,但是因?yàn)檫@一特點(diǎn),可以將復(fù)雜問題簡單化,使得許多依靠順式不能解決或難以解決的問題可以輕松的解決,并可以加深對問題的進(jìn)一步認(rèn)識,能夠充分提高學(xué)生主動學(xué)習(xí)的興趣。
2在講解程序填空題時運(yùn)用反向教學(xué)法
根據(jù)程序運(yùn)行結(jié)果完成程序填空題。學(xué)生在做此類題時往往一頭霧水,不知該從何處下手,此時巧妙運(yùn)用反向教學(xué)法可能會收到意想不到的效果。例如,在C語言教材中有一道這樣的程序填空題,要求實(shí)現(xiàn)打印出如下所示三角形,完成填空。
}

a、p、q均是變量名,且已分配空間。由示意圖的指向可看出:變量q指向變量p,變量p指向變量a,已知a存儲單元中存放整數(shù)值10(嚴(yán)格的說是10的二進(jìn)制形式),可得出a是整型變量,定義形式為:int*a;
變量p是指向變量a的,指向關(guān)系是通過地址來體現(xiàn)的,可以說,某變量的地址“指向”該變量單元。由此可知,變量p存儲單元中存放的是變量a的地址,即變量p是存放地址的變量也就是指針變量,得出變量p的部分定義形式:*p
由于指針變量p所指向的變量a是整型

2.1 學(xué)情分析
此程序填空題,是由方風(fēng)波主編、地質(zhì)出版社出版的《C語言程序設(shè)計(jì)》教材中,第三章結(jié)構(gòu)化程序設(shè)計(jì)的課后習(xí)題(本人稍加修改)。學(xué)生此時已經(jīng)學(xué)過結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。對構(gòu)成循環(huán)結(jié)構(gòu)的while語句、do-while語句、for語句的語法格式、執(zhí)行過程都已了解并掌握,并能分析出較簡單的循環(huán)結(jié)構(gòu)的程序的執(zhí)行結(jié)果。但是對程序填空題來說,某些程度上也考驗(yàn)學(xué)生的編程能力。學(xué)生此時還沒具有獨(dú)立編程的能力,因此做此題時困難很大。
2.2 運(yùn)用反向教學(xué)法分析完成
從打印輸出的結(jié)果要求可以很明顯的看出,結(jié)果呈9行顯示,每行顯示的數(shù)據(jù)值及數(shù)據(jù)個數(shù)與行號相等。那要如何實(shí)現(xiàn)呢?程序中使用了雙重嵌套的for循環(huán)語句,嵌套循環(huán)執(zhí)行過程的特點(diǎn)是外層循環(huán)執(zhí)行一次,內(nèi)層循環(huán)執(zhí)行一輪。如果能用嵌套循環(huán)的外層循環(huán)、內(nèi)層循環(huán)分別代表行號及控制每行中可以輸出數(shù)據(jù)個數(shù),而內(nèi)層循環(huán)的循環(huán)體語句用來實(shí)現(xiàn)打印輸出數(shù)據(jù)及換行,問題就可以引刃而解了。
也就是說,用外層循環(huán)執(zhí)行9次表示9行,i是循環(huán)控制變量,初始值為1,循環(huán)執(zhí)行9次,可得出滿足循環(huán)控制條件的i的最大值可取得9。外層循環(huán)的循環(huán)體由for語句和“printf(“ ’);”語句組成,”printf(“ ’);”語句可實(shí)現(xiàn)換行,即在輸出相應(yīng)個數(shù)數(shù)據(jù)后換行;換言之,外層循環(huán)的循環(huán)體中的for語句可實(shí)現(xiàn)打印輸出若干數(shù)據(jù)。數(shù)據(jù)個數(shù)由循環(huán)次數(shù)決定,由于每行輸出數(shù)據(jù)個數(shù)不同,也就是決定輸出數(shù)據(jù)個數(shù)的for語句的循環(huán)次數(shù)不同,但控制數(shù)據(jù)輸出個數(shù)的循環(huán)次數(shù)恰好與其所在行的行號相同,作為循環(huán)控制變量的j的初始值為1,每次循環(huán)執(zhí)行后循環(huán)控制變量都加1,由此可得出j的最大取值與控制行號的i變量的值相等,但循環(huán)控制表達(dá)式中使用的運(yùn)算符是“<”,所以第二個空中應(yīng)填寫“i+1”;輸出函數(shù)用來輸出數(shù)據(jù),數(shù)據(jù)值與其所在行的行號相同,因此完整的輸出語句就是“printf(“%d”,i);”。
在完成此程序填空題的過程中,我們巧妙地運(yùn)用了反向教學(xué)法,從結(jié)果出發(fā),層層深入,逆推出需要達(dá)到的目標(biāo),當(dāng)用正向思考方式無從下手時,反向思考有時可以起到意想不到的妙用。
在課堂教學(xué)中適當(dāng)?shù)膽?yīng)用反向教學(xué)法,有助于學(xué)生加深對所學(xué)知識的理解和掌握,可以提高教學(xué)效果;但不能一味的全盤否定順式教學(xué)法而全部應(yīng)用反向教學(xué)法。它只是眾多教學(xué)方法中的一種,它并不是十全十美的。選擇何種教學(xué)方法,應(yīng)該考慮知識內(nèi)容的特點(diǎn)、學(xué)生的知識基礎(chǔ)、課堂教學(xué)環(huán)境等等。選擇恰當(dāng)?shù)囊环N或幾種教學(xué)方法,相互之間相輔相成,不但能夠活躍課堂氣氛、提高學(xué)生學(xué)習(xí)興趣,還能夠加深學(xué)生對知識的理解,更重要的是能夠幫助教師順利圓滿地完成教學(xué)任務(wù)。
[1]方風(fēng)波.C語言程序設(shè)計(jì)[M].地質(zhì)出版社.北京.2009
[2]逆向思維法.來源:百度百科
[3]反向教學(xué)法在高中生物教學(xué)中的應(yīng)用初探.來源:全國中小學(xué)教師繼續(xù)教育網(wǎng).