曾惠君
(福建省漳州市第八中學,福建漳州 363000)
BASIC語言有著悠久的歷史,幾經(jīng)演變,盛行幾十年不衰。它有著簡潔明了的程序語法結構,易學易用,又不乏靈活性,是初學程序設計者首選的語種之一。通過學習程序設計,可以鍛煉學習者嚴謹而靈活多變的邏輯思維,培養(yǎng)細致耐心的良好學習習慣。
Visual Basic源自BASIC編程語言,VB擁有圖形用戶界面(GUI)和快速應用程序開發(fā)(RAD)系統(tǒng),可以輕易地使用DAO、RDO、ADO連接數(shù)據(jù)庫,或者輕松地創(chuàng)建Active X控件,用于高效生成類型安全和面向對象的應用程序,程序員可以輕松地使用VB提供的組件快速建立一個應用程序[1]。
正因為BASIC語言有著眾多其他程序設計語言所沒有的優(yōu)點, Visual Basic又比早期的BASIC語言更加完善,更加直觀,加強了語法結構的嚴謹性,因此分支結構在Visual Basic語言中占著重要的地位。
經(jīng)過教學實踐,我發(fā)現(xiàn)語法結構始終是困擾學生學習的難點之一。順序結構的程序雖然能解決計算、輸出等問題,但不能做判斷再選擇。對于要先做判斷再選擇的問題就要使用分支結構。分支結構的執(zhí)行是依據(jù)一定的條件選擇執(zhí)行路徑,而不是嚴格按照語句出現(xiàn)的物理順序,分支結構的程序設計方法的關鍵在于構造合適的分支條件和分析程序流程,根據(jù)不同的程序流程選擇適當?shù)姆种дZ句。分支結構適合于帶有邏輯或關系比較等條件判斷的計算,設計這類程序時往往都要先繪制其程序流程圖,然后根據(jù)程序流程圖寫出源程序,這樣做把程序設計分析與語言分開,使得問題簡單化,易于理解[2]。因為學生初次接觸到用程序解決生活中數(shù)學問題的情況,對程序的描述方式難以理解和接受。所以,首要的問題是如何從學習心理出發(fā),使學生能較容易地將身邊熟悉的事物同陌生的程序語法聯(lián)系起來。
下面我就根據(jù)自己的教學實踐談一談Visual Basic中分支結構一節(jié)的教學方法。
首先,介紹條件語句的基本語法結構,格式如下:
IF 條件 THEN
語句組1
ELSE
語句組2
END IF
其次,為了加強學生對該結構的理解,在講授了語法結構特點,即IF必須和END IF同時出現(xiàn),在條件后必須跟上THEN之后,我從身邊的生活例子出發(fā),寫了下面兩個式子:(1)IF 明天不下雨 THEN (2)IF 我有認真復習 THEN
我們?nèi)ソ加?我會取得好成績
ELSE END IF
照常上課
END IF
這兩個貼近生活的例子使學生能夠很快了解條件語句的作用以及使用的方法。接著,通過分析上面兩個例子,強調(diào)兩點:條件語句有兩種形式,一是帶有ELSE子句,二是不帶ELSE子句,并讓學生觀察有什么不同;進行判斷時,首先看IF后面的假設是否成立,成立則做THEN后面的操作,否則看是否有ELSE子句,有則執(zhí)行ELSE中的語句,若沒有則直接執(zhí)行END IF后面的操作。尤其要強調(diào)的是:在ELSE后面的操作執(zhí)行完后,仍舊要執(zhí)行END IF后的操作。
再次,將上面兩個例子引申到Visual Basic的程序設計中,畫出程序流程圖,讓學生比較兩個例子的流程圖的區(qū)別,并特別說明線路走向對程序執(zhí)行結果的影響。這是從“實”到“虛”的環(huán)節(jié),即從具體到抽象。
最后,通過幾個典型的例子,采用流程圖與程序相結合的方法,強化學生大腦中初步形成的印象。從學習心理出發(fā),我重新組織了教材中例子的順序,并做了相應更改,按照從簡單到復雜,由淺入深的原則講授了課本中的三個例子。在解題前,先引導學生用逆向思維的方法分析題目,即要得到這一步的結論,需要哪些條件?這些條件從哪里得出?進而和學生一起畫出程序流程圖,最后再讓學生板書,寫出程序。這樣做雖然多花了一些時間,但是對于學生快速掌握編程的基本方法,培養(yǎng)程序設計思維能力,養(yǎng)成良好的編程習慣具有重要的意義,從長遠來說,反而是加快了掌握新知識的速度,節(jié)約了時間。我給的三個例子,第一個例子是不帶ELSE子句的,題目為:“計算S=1+2+……+10的值”;第二個例子是帶ELSE子句的簡單問題,題目為:“由鍵盤輸入兩個字符串,比較其大小,輸出較大者”;第三個例子是帶ELSE子句的較復雜的應用問題,題目為:“從鍵盤上輸入3個數(shù),判斷以這3個數(shù)作為三邊長度能否構成三角形,給出相應的提示信息”。通過這三個例子,使學生們逐步掌握用程序描述解決問題的方法。這樣又從“虛”回到“實”,從抽象到具體,落實到了具體的問題的解法。
我們從程序設計教材自身的特點,找出其連貫性,指出分支結構是大家學習程序設計的一個重要轉折點:由簡單的順序結構發(fā)展到分支結構,不僅是程序處理能力的增強,也是算法實現(xiàn)的必然要求。從簡單的例題著眼,充分調(diào)動學生的探求意識,把單純的程序語句變?yōu)榛钌牧鞒虉D,新課從回顧第一節(jié)算法和流程圖入手,使學生有親切感和層次感,并產(chǎn)生一種整體感。
現(xiàn)代課堂講求高效互動。為使學生真正能夠動起來,包括動手動腦,我在課堂上采用了提問—討論—回答—探究的模式。分支結構具有自身的特點,講解時簡單的語言總結不一定能達到良好的教學效果,而利用流程圖講解分支結構,具有簡潔明了的特點,有利于學生更好地理解IF語句的工作原理。我認為將IF語法配合流程圖講解更直觀,利用流程圖分析分支結構例題,可以使學生更樂于融入課堂氣氛中來,并在教師的引導下,逐步接近知識目標和實現(xiàn)素養(yǎng)目標。創(chuàng)設情景,使學生想學習、要學習;提供方法,使學生能學習、學習好;推出問題,使學生學有所得、學有所思。經(jīng)過這樣層層設計,道道把關,就基本上能把學生吸引在課堂上,把知識體現(xiàn)在問題的設計和探究中。
在學生都已初步掌握了這兩種語法的簡單結構后,我才開始講授條件語句的嵌套的復雜運用,通過典型習題強化學生的認知,使其能獨立解決問題,靈活運用所學知識。
經(jīng)過上面的教學實踐,學生們比較輕松地掌握了Visual Basic的分支結構特點,并能用它來解決實際問題,從中我深刻體會到從學生的心理出發(fā)設計教學方法,往往能收到更好的效果,提升課堂教學質(zhì)量。