【摘要】本文結(jié)合了在VB實(shí)際教學(xué)中,所遇到的枯燥難懂等問題,尤以編程為主,提出了兩點(diǎn)教學(xué)方法,讓淺顯的數(shù)學(xué)知識進(jìn)入到VB教學(xué)課堂,并將其應(yīng)用與教學(xué)中,從而提高學(xué)生學(xué)習(xí)編程的興趣。
VB(即Visual Basic以下簡稱VB)是可視化的程序設(shè)計語言,現(xiàn)已被許多高校定為非計算機(jī)專業(yè)的公共必修課。因其本身理論性、實(shí)踐性強(qiáng),與英語和數(shù)學(xué)知識結(jié)合緊密,又由于許多學(xué)生剛接觸編程語言,沒能掌握學(xué)習(xí)編程的方法,無法很快的入門,增加了教學(xué)的難度。
本文以此為例進(jìn)行論述,目的是提升學(xué)生的學(xué)習(xí)興趣,引領(lǐng)學(xué)生由淺入深的學(xué)習(xí)編程語言,用已有的數(shù)學(xué)知識去學(xué)習(xí)新的知識,從而讓學(xué)生形成一套新的學(xué)習(xí)方法,去掌握和學(xué)習(xí)VB中的編程語言。
1.將數(shù)學(xué)概念滲透到For循環(huán)教學(xué)中,提高了學(xué)生的興趣并形成對新概念的認(rèn)識
VB開發(fā)應(yīng)用程序,包含兩方面:可視化編程技術(shù)和結(jié)構(gòu)化程序設(shè)計。對于結(jié)構(gòu)化程序設(shè)計有三類:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu),而循環(huán)結(jié)構(gòu)相對于另兩類,則是較難的一類,那么如何讓學(xué)生輕松地掌握循環(huán)結(jié)構(gòu)的基本思路?
首先,看一下For循環(huán)語句形式:
For循環(huán)控制變量=初值To終值[Step(步長]
循環(huán)體
Next循環(huán)變量
這是一個全新的概念,學(xué)生從來沒有接觸過,但如果引進(jìn)舊知識,再和新知識相結(jié)合,那么學(xué)生就不會覺得難懂。學(xué)生們在高一上學(xué)期學(xué)習(xí)數(shù)學(xué)時,就已學(xué)過數(shù)列(按一定次序排成的一列數(shù)叫做數(shù)列)、項(xiàng)(數(shù)列中的每一個數(shù)叫做這個數(shù)列的項(xiàng))、等差數(shù)列(如果一個數(shù)列從第2項(xiàng)起,每一項(xiàng)與它的前一項(xiàng)的差等同于同一個常數(shù),那么這個數(shù)列就叫做等差數(shù)列)、公差(這個常數(shù)叫做等差數(shù)列的公差)、遞增數(shù)列、遞減數(shù)列、常數(shù)列等數(shù)學(xué)概念,代領(lǐng)學(xué)生一起復(fù)習(xí)這些知識,然后讓他們來看這個全新的公式,引導(dǎo)他們?nèi)ふ夜街泻蜕鲜鲆褜W(xué)過的數(shù)學(xué)概念有哪些相似性。
其次,從For循環(huán)模式來看,初值to終值,則給出一個數(shù)列的范圍,初值相當(dāng)于該數(shù)列的第一項(xiàng),終值相當(dāng)于該數(shù)列最后一項(xiàng),步長則相當(dāng)于等差數(shù)列中的公差,根據(jù)步長為正或負(fù),則判斷出該數(shù)列是遞增數(shù)列還是遞減數(shù)列,步長為零,則形成一個常數(shù)列。同時注意For循環(huán)形成的數(shù)列,并且使其循環(huán),則要比數(shù)學(xué)多一些要求:步長為正,初值應(yīng)小于或等于終值;若步長為負(fù),初值應(yīng)大于或等于終值;步長為零,則形成了死循環(huán)。
由此可見,通過已有數(shù)學(xué)概念的引入,降低了新知識的難度,同時讓學(xué)生對For循環(huán)模式中出現(xiàn)的新概念容易理解。之后將這些新概念和前面已經(jīng)學(xué)習(xí)過VB編程語法中的賦值語句等相結(jié)合,以及For循環(huán)的流程相結(jié)合,就可以讓學(xué)生從整體上輕松掌握For循環(huán)模式。
2.將數(shù)學(xué)中的遞推公式應(yīng)用到VB案例中,讓學(xué)生進(jìn)一步理解FOR循環(huán)
對于For循環(huán)理論講述完畢之后,會有實(shí)際的案例與之配合。例如,求1—100之內(nèi)所有整數(shù)之和。那么如何編程,又如何為學(xué)生講解呢?
首先,讓學(xué)生想想,此題在數(shù)學(xué)中采取什么方法?一般有3種。第一最普通的方法:一個數(shù)一個數(shù)的加;第二高斯方法;第三利用等差數(shù)列求和。對于前兩者處于小學(xué)階段用的方法;對于后者用的是高中階段學(xué)習(xí)過的等差數(shù)列求和公式。求和公式有2個:Sn=(a1+an)n/2和Sn=a1n+n(n-1)d/2,其中a1為首項(xiàng),an為末項(xiàng),n為項(xiàng)數(shù),d為公差,sn為求和。
第三種方法再和For循環(huán)模式結(jié)合,學(xué)生會想到初值是a1,終值是an,d是step,step=1可以省略,那么For循環(huán)的外部框架基本構(gòu)件,
即:For i= 1 to 100
循環(huán)體Next i(其中i為循環(huán)變量)
其次,代領(lǐng)學(xué)生編寫循環(huán)體。上文談到第一種方法,即一個數(shù)一個數(shù)的相加。步驟如下:
1)s=1
2)s=1+2
3)s=1+2+3
……
100)s=1+2+3+…+100
這種相加是一個重復(fù)的過程,并且每加一次都會得到一個數(shù)和,此數(shù)和會和下一個數(shù)相加。對于每次累加和可以引入一個變量來代替,在VB中變量會被重新賦值,所以此處引入的變量無需是新變量,用變量s即可。因此,上面的步驟可演變成:
1)s=1
2)s=s+2
3)s=s+3
……
100)s=s+100
對于步驟1),若和其他幾項(xiàng)形式相同,則寫成s=s+1。通過此式及后面的式子,學(xué)生很容易理解表達(dá)式s=s+1中“=”右端s初值為0。
經(jīng)上面遞推及循環(huán)控制變量i變化的規(guī)律,不難推出表達(dá)式s=s+i。
根據(jù)此處推倒的表達(dá)式和上文提及的For循環(huán)框架,不難得出如下結(jié)果:s=0
For i= 1 to 100
s=s+_i
Next i
讓學(xué)生通過自己熟悉的數(shù)學(xué)知識,及數(shù)學(xué)方法“遞推公式”,去學(xué)習(xí)和掌握VB中的F循環(huán)結(jié)構(gòu),不僅大大地降低了學(xué)習(xí)的難度,同時還形成了編寫部分程序的一個思路,為學(xué)生學(xué)習(xí)VB打下基礎(chǔ)。
3.結(jié)語
針對初學(xué)編程語言學(xué)生而言,沒有編程思路。在教學(xué)最初階段,讓學(xué)生產(chǎn)生學(xué)習(xí)興趣,讓學(xué)生入門,掌握編程基本方法至關(guān)重要。教學(xué)過程中,我主要通過學(xué)生學(xué)習(xí)過的數(shù)學(xué)知識作為切入點(diǎn),這樣學(xué)生在理解上有了一定的基礎(chǔ),使學(xué)生邏輯思維能力能夠較快的提升,提高了他們學(xué)習(xí)的主動性,學(xué)習(xí)起來就不會感覺乏味,達(dá)到了我們教學(xué)預(yù)期目標(biāo)。
【參考文獻(xiàn)】
[1]人民教育出版社中學(xué)數(shù)學(xué)室.全日制普通高級中學(xué)教科書(必修)數(shù)學(xué)第一冊(上)[M].北京:人民教育出版社,2003.
[2]龔沛曾.VisualBasic程序設(shè)計簡明教程[J].北京:高等教育出版社,2004.