文章編號(hào):1672-5913(2008)16-0123-02
摘要:本文介紹了筆者針對(duì)非計(jì)算機(jī)專業(yè)“Visual FoxPro程序設(shè)計(jì)”課程教學(xué)的探索。
關(guān)鍵詞:Visual Foxfro程序設(shè)計(jì);教學(xué)方法;循序漸進(jìn)
中圖分類號(hào):G642
文獻(xiàn)標(biāo)識(shí)碼:B
在Visual FoxPro程序設(shè)計(jì)的教學(xué)過程中,學(xué)生對(duì)輸入、輸出以及分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)都難以理解,教材中的一些例題也有一定的難度。因此,筆者選取一些較為容易又能說明問題的例題,循序漸進(jìn),將問題逐漸引向深入,收到了較好的效果。
1關(guān)于輸入的教學(xué)
在程序輸入中,其方法是靈活多樣的,有:
●賦值輸入:<內(nèi)存變量>=<表達(dá)式>或STORE <表達(dá)式> TO <內(nèi)存變量名表>
●交互式輸入:
(1)ACCEPT [<提示信息>] TO <內(nèi)存變量>
(2)INPUT [<提示信息>] TO <內(nèi)存變量>
(3)WAIT [<提示信息>] [TO <內(nèi)存變量>]
●格式輸入:
@<行,列> [SAY <提示信息>] GET <變量>
READ
學(xué)生在初次學(xué)習(xí)過程中,對(duì)此的理解是很困難的。筆者在教學(xué)中采取了利用一個(gè)簡(jiǎn)單的小程序循序漸進(jìn)的教學(xué),取得了良好的效果。
例1輸入簡(jiǎn)單字符并顯示。
SET TALK OFF
X=“*****”
?X
RETURN
如要另外輸出5個(gè)“#”號(hào),則要修改程序,將賦值語句改為X=“#####”,這樣將比較麻煩。改為:
SET TALK OFF
ACCEPT “輸入字符:” TO X
?X
RETURN
反復(fù)執(zhí)行程序,可輸入任何字符,并顯示。學(xué)生通過此例明白了交互式輸入的特點(diǎn)。也可用格式輸入:
SET TALK OFF
X=“”
@5,10 SAY “輸入字符:” GET X
READ
?X
RETURN
用格式輸入,必須賦初值,以決定變量的類型和寬度,經(jīng)執(zhí)行后,學(xué)生對(duì)此體會(huì)較深。
例2計(jì)算圓面積。
SET TALK OFF
R=10
S=3.1416*R^2
?S
RETURN
此輸入只能計(jì)算一個(gè)固定半徑的圓面積。如要計(jì)算任意半徑的圓面積,則改為:
SET TALK OFF
INPUT “輸入半徑:”TO R
S=3.1416*R^2
?S
RETURN
這里注意講清ACCEPT與INPUT的區(qū)別,并指出這里也可用格式輸入。
經(jīng)過這兩個(gè)例題的講解,學(xué)生對(duì)輸入的掌握就比較好了。
2關(guān)于輸出的教學(xué)
在程序輸出中,其方法也是靈活多樣的,有:
●非格式輸出: ?<表達(dá)式>或 ??<表達(dá)式>
●格式輸出:@<行,列> SAY <表達(dá)式> [FUNCTION <功能符>] [PITURE <格式符>]
對(duì)例2可以利用非格式輸出使輸出結(jié)果更加美觀易讀:
SET TALK OFF
INPUT “輸入半徑:”TO R
S=3.1416*R^2
?“圓的面積為:”,S
RETURN
也可使上例輸出更加緊湊,改為:
SET TALK OFF
INPUT “輸入半徑:”TO R
S=3.1416*R^2
? “圓的面積為:”+STAR(S,15,4)
RETURN
用格式輸出,即可在指定的位置輸出:
SET TALK OFF
INPUT “輸入半徑:”TO R
S=3.1416*R^2
@10,10 SAY “圓的面積為:”+STAR(S,15,4)+“平方米”
RETURN
至于功能符和格式符的應(yīng)用,在以后的例題中結(jié)合講,可得到更好的效果。
通過這樣的對(duì)比使用輸出,且使用一個(gè)簡(jiǎn)單的例題,突出了重點(diǎn),使學(xué)生理解容易,加深了記憶。
3分支結(jié)構(gòu)程序的教學(xué)
分支結(jié)構(gòu)對(duì)初學(xué)者也是一個(gè)難點(diǎn),特別是有嵌套結(jié)構(gòu)時(shí),學(xué)生更難掌握。利用一個(gè)簡(jiǎn)單的例子,可將分支嵌套和多分支結(jié)構(gòu)結(jié)合講,收到良好的效果。
例3利用分支結(jié)構(gòu)計(jì)算分段函數(shù)的值
利用分支嵌套編寫如下程序:
SET TALK OFF
INPUT “X=” TO X
IF X<0
Y=X^2+1
ELSE
IF X=0
Y=1
ELSE
Y=X^2-1
ENDIF
ENDIF
?”Y=”,Y
RETURN
此程序是分支嵌套中較簡(jiǎn)單的一個(gè),但對(duì)初學(xué)者來說,理解也存在一定的難度。這里關(guān)鍵是要理解這是一個(gè)三分支,即三種選擇,如用雙分支結(jié)構(gòu)來處理,就必須要嵌套,才能解決三個(gè)選擇的問題。
結(jié)合多分支結(jié)構(gòu)處理這個(gè)問題,容易理解,講解了多分支選擇結(jié)構(gòu)。程序改為:
SET TALK OFF
INPUT “X=” TO X
DO CASE
CASE X<0
Y=X^2+1
CASE X=0
Y=1
CASE X>0
Y=X^2-1
ENDCASE
?”Y=”,Y
RETURN
或者改為:
SET TALK OFF
INPUT “X=” TO X
DO CASE
CASE X<0
Y=X^2+1
CASE X=0
Y=1
OTHERWISE
Y=X^2-1
ENDCASE
?”Y=”,Y
RETURN
這樣對(duì)比講解,學(xué)生比較容易理解。特別是在多分支中用OTHERWISE代替原來的CASE X>0,對(duì)嵌套中的為什么沒有X>0的條件的理解有一定的幫助。
4循環(huán)結(jié)構(gòu)的講解
在循環(huán)結(jié)構(gòu)中,學(xué)生不易理解的有:
●循環(huán)變量,它的定義及變化;
●在循環(huán)中其它變量的變化;
●循環(huán)的次數(shù)及循環(huán)終結(jié);
●雙重循環(huán)的循環(huán)過程的理解。
在循環(huán)中,常用的循環(huán)結(jié)構(gòu)有:
DO WHILE <條件>
語句塊
ENDDO
和
FOR X=A TO B STEP C
語句塊
ENDFOR|NEXT
不管在那一種循環(huán)中,都牽涉到循環(huán)變量和其他變量的變化。有時(shí),循環(huán)變量也是其他變量,交叉在一起。在循環(huán)的過程中,都會(huì)按照程序的要求而變化。在教學(xué)中,以最簡(jiǎn)單的例題入手,逐步解決這些問題。
例4求10個(gè)1相加
SET TALK OFF
S=0
X=1
DO WHILE X<=10
S=S+1
X=X+1
ENDDO
?S
RETURN
在這個(gè)例題中,引入了循環(huán)變量X和求和變量S,它們的變化很簡(jiǎn)單,學(xué)生容易抓住主要矛盾。循環(huán)變量X的變化控制著循環(huán)的次數(shù),當(dāng)X變?yōu)?1時(shí),循環(huán)結(jié)束。在這里,也很容易看出,循環(huán)的次數(shù)是10次。
接著,將問題引向深入,在此基礎(chǔ)上,求整數(shù)1加到10。最好讓學(xué)生思考,就會(huì)使學(xué)生加深理解循環(huán)變量X和求和變量S該如何變化。由此舉一反三,從1到任意整數(shù)N的相加學(xué)生都會(huì)編寫程序了。
對(duì)于循環(huán)的嵌套,程序的編寫就更難了。在教學(xué)中,對(duì)于雙重循環(huán),采用一個(gè)簡(jiǎn)單的例題,著重講解循環(huán)的過程,學(xué)生比較容易理解。
例4雙重循環(huán)的過程
SET TALK OFF
FOR X=1 TO 5
?”*****”
FOR Y=1 TO 5
?”#####”
ENDFOR
ENDFOR
RETURN
程序運(yùn)行之后,學(xué)生對(duì)內(nèi)循環(huán)和外循環(huán)的過程都有了較深的理解。
5結(jié)束語
程序設(shè)計(jì)課程,對(duì)于非計(jì)算機(jī)專業(yè)的學(xué)生來說,主要是通過學(xué)習(xí)進(jìn)一步理解計(jì)算機(jī)工作的原理,以及對(duì)于邏輯思維的訓(xùn)練,而不是培養(yǎng)編程能力。因此,在教學(xué)中采用類似的循序漸進(jìn)的教學(xué)方法,可達(dá)到教學(xué)的目的。當(dāng)然,對(duì)于計(jì)算機(jī)專業(yè)的學(xué)生,特別對(duì)于高職高專的學(xué)生,采用循序漸進(jìn)和著重講解的方式,也會(huì)收到很好的效果。
參考文獻(xiàn):
[1] 楊克昌,莫照. Visual FoxPro 程序設(shè)計(jì)教程[M]. 湖南科學(xué)技術(shù)出版社,2004.
[2] 謝紅霞,孟學(xué)多.“Visual Basic 程序設(shè)計(jì)”課堂教學(xué)模式改革[J]. 計(jì)算機(jī)教育,2007,(18):104-106.