文章編號:1962-5913(2008)11-0047-02
摘要:VB程序設(shè)計是很多院校的第一門編程類課程,它功能強大易于掌握。對初學(xué)者來講,例題選取是否恰當(dāng)對于學(xué)習(xí)效果有著決定性的意義。本文主要探討在例題選擇和講解過程中如何使用條件遷移法讓學(xué)生深入理解知識點、活學(xué)活用。
關(guān)鍵詞:VB程序設(shè)計;教學(xué)法;條件遷移
中圖分類號:G642
文獻標(biāo)識碼:B
1條件遷移法
條件遷移法是指在教學(xué)過程中,在某個例題的基礎(chǔ)上逐步改變或增加條件,過渡到新的例題,以此提高學(xué)生舉一反三的能力,同時也提高學(xué)生主動發(fā)現(xiàn)問題、解決問題的能力。
VB程序設(shè)計課程的實踐性強,需要學(xué)生對于例題深入理解而不僅是死背程序。同時,VB作為一門程序設(shè)計語言,其語法結(jié)構(gòu)是固定的,但應(yīng)用到各種題目中是靈活多解的,故對一種結(jié)構(gòu)需要多道例題講解,這就需要學(xué)生掌握各例題的異同,而不是獨立去記憶。而應(yīng)用條件遷移的辦法進行例題之間的過渡,可以讓學(xué)生對知識點理解透徹,同時一步一步地引導(dǎo)讓學(xué)生融會貫通,從而克服了程序設(shè)計難學(xué)、枯燥的問題。
2實例
VB中的循環(huán)結(jié)構(gòu)部分因過程不直觀且語法結(jié)構(gòu)中參數(shù)較多,故此較難掌握。在FOR語句的教學(xué)過程中,筆者使用條件遷移法設(shè)計例題,效果很好。
首先讓學(xué)生做一道習(xí)題,用print語法輸出一個“*”。寫出程序后該練習(xí)題稍做修改:輸出10個“*”又該如何?同學(xué)們會發(fā)現(xiàn)修改后的題目做起來很煩瑣,于是教師可引出FOR循環(huán)結(jié)構(gòu)。
講解完FOR循環(huán)的語法結(jié)構(gòu),設(shè)計兩道例題。例1為剛才的練習(xí)修改題,循環(huán)輸出10個“*”,例2為輸出1~9這9個數(shù)字。如果只是一個例題講完就直接拋出第二個例題,學(xué)生掌握的可能僅僅是兩種題目的做法。若調(diào)動學(xué)生的思考,對例1進行層層修改進行思考、討論和演示,那么學(xué)生掌握的將是很多種題目的做法。為了體現(xiàn)對例題的修改,例1的第一個修改題目標(biāo)為例1.1,以此類推。過程設(shè)計如下。
例1講解過程略。得出程序為:
Fori=1 to 10
print \"*\"
next
運行該程序,觀察結(jié)果會發(fā)現(xiàn)確實輸出了10個星號,且排成了一列。
思考題:若希望10個星號輸出格式是排成一行而不是一列,該如何修改程序?
學(xué)生通過回顧print語法,就可以得出結(jié)論——print語句后加上分號。
例1.1 若是輸出30個星號,該如何修改程序?
對照例1,學(xué)生可以一眼發(fā)現(xiàn)修改數(shù)字10為30就可以。由此可以得出小結(jié)1,F(xiàn)OR...to...這句控制輸出的個數(shù)(也就是循環(huán)的次數(shù))。
例1.2 若不是輸出星號,而是輸出數(shù)字“0”,如何更改?
學(xué)生也很容易找出將星號改為0就可以了。由得可以得出小結(jié)2,Print這句控制輸出內(nèi)容。
現(xiàn)在引出例2,輸出9個數(shù)字。根據(jù)與例1的對照,分析變的是什么、不變的是什么,再根據(jù)例1.1和例1.2的結(jié)論便可得出結(jié)果。例2講解過程略。
整個教學(xué)過程的設(shè)計思想是不斷產(chǎn)生新的問題,讓學(xué)生參與到對例1的總結(jié)中,不但鞏固了該例題的理解,而且慢慢轉(zhuǎn)向第二個例題的分析,從而掌握抓住解題的本質(zhì),而不是就題論題。
學(xué)習(xí)完循環(huán)語句的結(jié)構(gòu),最難的就是循環(huán)語句的嵌套使用問題。循環(huán)語句已經(jīng)較為復(fù)雜,循環(huán)套循環(huán)更會讓學(xué)生暈頭轉(zhuǎn)向。故對循環(huán)結(jié)構(gòu)每部分作用的理解非常重要,而例1.1和例1.2的講解已經(jīng)做好了鋪墊。
例3將例1的結(jié)果輸出10遍。
根據(jù)練習(xí)1和例1的學(xué)習(xí),學(xué)生已發(fā)現(xiàn)學(xué)習(xí)循環(huán)語句的目的,就是解決需要反復(fù)處理的操作。那么參照從練習(xí)1過渡到例1的解題過程,可容易地寫出例3的程序。
思考題:若是將例1的結(jié)果輸出5遍該如何修改程序?
通過學(xué)生的回答,可以得出總結(jié)3:外層的循環(huán)控制行數(shù),內(nèi)層的循環(huán)控制列數(shù)。
例3.1 或作為練習(xí)題:輸出4行5列的“*”。
有了前面的例題層層鋪壘,學(xué)生做該這道題沒有難度,只要對照著題目修改行數(shù)和列數(shù)就可以了。
例3.2 輸出一個10行的圖案:
*
**
......
**********
緊緊圍繞總結(jié)3,再參考例2的解題思路,做相應(yīng)的修改就可以得出結(jié)論。
若還要逐步深入增加難度,可以繼續(xù)設(shè)計例題,如:
1
12
123
......
123456789
若再加上空格的輸出,可以繼續(xù)更加復(fù)雜。如將例3的結(jié)果向右移動,即“*”的前面加10個空格,寫成print “ ***....*”。書寫程序的過程中可發(fā)現(xiàn)空格的輸出也可套用循環(huán),于是程序又可改成兩個循環(huán)語句并列的格式。
3總結(jié)
整個過程是教師對例題做總結(jié),然后將根據(jù)總結(jié)中的細節(jié)部分對例題進行對應(yīng)的修改,形成新的題目,讓學(xué)生解題抓住兩道題目之間的異同。因為有參考便降低了解題難度,同時又因為靈活改變,學(xué)生對于知識點的理解與記憶會更加深刻??梢?,條件的遷移,目的就是用一個接一個的問題,牽著學(xué)生的思維,讓他們不停的跟著教學(xué)內(nèi)容思考,而不是一味的坐著被“灌”。其教學(xué)過程的設(shè)計要點如下:
(1) 應(yīng)多多抓住各知識點的聯(lián)系,整體的系統(tǒng)的研究教學(xué)內(nèi)容。傳統(tǒng)的教學(xué)方法都是按章節(jié)內(nèi)容講,比如控制結(jié)構(gòu)講完FOR結(jié)構(gòu)然后再講While結(jié)構(gòu),兩節(jié)之間的例題沒有什么聯(lián)系。其實兩個結(jié)構(gòu)之間的最大差別在于循環(huán)次數(shù)的控制,其他都類似。利用條件遷移法,可設(shè)計一道例題循環(huán)次數(shù)可以控制,用FOR結(jié)構(gòu),再條件稍做更改變成循環(huán)次數(shù)不可預(yù)知,就引出了While結(jié)構(gòu)。這樣不但掌握了兩種結(jié)構(gòu)的用法——即“記憶”,而且對于各種涉及循環(huán)的題目何時用何種結(jié)構(gòu)也不易混淆——即“活用”。
(2) 將其中的關(guān)聯(lián)變成各種問題,根據(jù)題目的難度來設(shè)計成例題、練習(xí)題或思考題,一環(huán)扣一環(huán)的完成整個教學(xué)過程。學(xué)生馬上就能看出結(jié)果的,可以設(shè)計成思考題;若需要動手試試或多點時間思考的,可以設(shè)計成練習(xí)題;改動較多的或需要學(xué)生特別記憶的,可以設(shè)計成例題來強調(diào)。
(3) 還可根據(jù)學(xué)生特點和時間情況,設(shè)計成學(xué)生個別回答、一起回答或個別黑板演示。通過多樣化的解題過程提高學(xué)生的學(xué)習(xí)興趣,活躍課堂氣氛。但注意一定要對學(xué)生的回答進行概括和總結(jié),讓學(xué)生重點關(guān)注不同題目的解題關(guān)鍵。
總之,對教學(xué)活動的安排,體現(xiàn)在例題的講解和例題的過渡上。若設(shè)計的好,整個教學(xué)過程就會豐富流暢,時間緊湊有節(jié)奏且一氣呵成。
參考文獻
[1] 趙曉華,魯明珠. VB教學(xué)方法改革初探[J]. 中國成人教育,2006,(4):132-133.