蔣超
摘要 Visual FoxPro程序設(shè)計(jì)和其它一些程序語(yǔ)言差別不大,最大的差別點(diǎn)在于Visual FoxPro很多語(yǔ)句是針對(duì)表的,因此有時(shí)候借助表我們可以完成一些意想不到的效果。本文主要針對(duì)一些傳統(tǒng)編程實(shí)例,不按部就班,采取一些別樣的解決方法,去供讀者思考體會(huì)。
【關(guān)鍵詞】VFP編程 數(shù)據(jù)排序 圖形顯示
一直從事學(xué)校計(jì)算機(jī)相關(guān)專業(yè)對(duì)口班的數(shù)據(jù)庫(kù)應(yīng)用基礎(chǔ)的教學(xué)工作,可謂邊學(xué)習(xí)、邊研究、邊教學(xué)。數(shù)據(jù)庫(kù)是比較難的一門學(xué)科,但是它也是比較讓人著迷的一門學(xué)科,難主要體現(xiàn)在四個(gè)方面,
(1)學(xué)生初次接觸編程語(yǔ)言,不容易理解;
(2) VFP的學(xué)習(xí)是從基礎(chǔ)開(kāi)始,前面的知識(shí)比較枯燥繁瑣,學(xué)生不知道每個(gè)操作或命令到底有什么用處,因此難以記憶體會(huì);
(3)學(xué)生邏輯思維的能力不強(qiáng),遇到問(wèn)題不知道如何下手;
(4)學(xué)生普遍學(xué)習(xí)興趣不大,學(xué)習(xí)無(wú)動(dòng)力。
而著迷則是指真正學(xué)進(jìn)去入門之后。你會(huì)發(fā)現(xiàn)VFP可以編寫各種程序,制作各種應(yīng)用程序,只要你對(duì)電腦有興趣,有想法,想制作各種好玩的,有用的小軟件,VFP都可以幫你實(shí)現(xiàn),并且面向?qū)ο蟮膽?yīng)用程序開(kāi)發(fā),對(duì)于新手來(lái)說(shuō)將更加容易,且更加著迷。
對(duì)于計(jì)算機(jī)相關(guān)專業(yè)對(duì)口班的學(xué)生來(lái)說(shuō)數(shù)據(jù)庫(kù)應(yīng)用基礎(chǔ)尤為重要,因?yàn)閿?shù)據(jù)庫(kù)應(yīng)用基礎(chǔ)為安徽省對(duì)口高考計(jì)算機(jī)相關(guān)專業(yè)的必考科目,且所占比重較高,特別是程序編寫,不管在理論考試和技能測(cè)試中都會(huì)出現(xiàn),且分值較大。數(shù)據(jù)庫(kù)應(yīng)用基礎(chǔ)VFP的編程不僅僅需要扎實(shí)的基礎(chǔ)知識(shí),而且還需要較強(qiáng)的邏輯思維能力,當(dāng)然,更重要的是解決問(wèn)題的方法。以下將針對(duì)幾個(gè)常規(guī)的程序問(wèn)題,提出本人自己研究的另類方法。
1 數(shù)據(jù)排序的另類方法
對(duì)于一組數(shù)據(jù)的排序,常用的方法就是“冒泡”排序法,當(dāng)然了還有插入排序,合并排序等等,這些方法對(duì)數(shù)據(jù)進(jìn)行排序很實(shí)用,但是對(duì)于中職學(xué)生來(lái)說(shuō)理解起來(lái)難度很大,即使理解了,也很難在實(shí)際的程序設(shè)計(jì)中寫出代碼。因此,對(duì)于VFP程序設(shè)計(jì)中的數(shù)據(jù)排序,我也思考總結(jié)了一些學(xué)生容易理解,也確實(shí)能夠解決問(wèn)題的方法。
例1:三個(gè)數(shù)排序。任意輸入三個(gè)數(shù),按從大到小排序。
思路:找出最大和最小的數(shù),中間的數(shù)就是這個(gè)三個(gè)數(shù)的和再減去最大和最小的數(shù)。
具體實(shí)現(xiàn)代碼(如圖1所示)。
當(dāng)然,如果黃色填充區(qū)域還不能理解,那么我們就借用函數(shù)MAX()和MIN()來(lái)修改此區(qū)域代碼。具體實(shí)現(xiàn)代碼(如圖2所示)。這樣修改之后的程序,相信基礎(chǔ)再差的學(xué)生基本上也都能理解透徹了。
例2:三個(gè)以上的數(shù)排序。任意輸入10個(gè)數(shù),按從大到小進(jìn)行排序。
思路:冒泡等排序方法就不提了。我們來(lái)說(shuō)特別的方法,VFP中重點(diǎn)學(xué)習(xí)的是表,我們知道表,也知道如何對(duì)表中數(shù)據(jù)進(jìn)行排序,那么如果我們把輸入的數(shù)據(jù)放入表中,再排好序后輸出就可以了。
具體實(shí)現(xiàn)代碼:
這樣的解決方法肯定簡(jiǎn)單、方便、容易理解。學(xué)生只要對(duì)表的操作能夠理解深刻,那么排序再也不需要冒泡來(lái)解決。
2 圖形題的兩種解決方法
圖形題的解決方法一般都選擇循環(huán)語(yǔ)句加顯示數(shù)據(jù)的兩個(gè)命令(?換行和??不換行)來(lái)解決。但是有些時(shí)候格式化的輸出方法也是解決圖形問(wèn)題的一大幫手。
例:輸出如圖形(如圖3所示)。
傳統(tǒng)方式(如圖5所示)這種方法解決簡(jiǎn)單,但理解起來(lái)稍顯復(fù)雜。此時(shí)還可以考慮格式化輸出方法。
格式化輸出方法(如圖4所示),把每個(gè)點(diǎn)的坐標(biāo)標(biāo)號(hào),然后統(tǒng)計(jì)規(guī)則。(注意15代表1行5列,24代表2行4列…)
規(guī)則:兩個(gè)坐標(biāo)和最小為6,最大為14;兩個(gè)坐標(biāo)差最小為0,最大為4。
具體實(shí)現(xiàn)代碼(如圖6所示)這種解決問(wèn)題的方法是否讓你豁然開(kāi)朗呢?
總之,解決問(wèn)題的方法千變?nèi)f化,條條大路通羅馬。不管是學(xué)生的學(xué),還是老師的教,都不能干篇一律的來(lái),針對(duì)知識(shí)要先學(xué)習(xí)好了解清楚,再體會(huì)深刻理解,最后在理解的基礎(chǔ)上能創(chuàng)新的去創(chuàng)新,能升華的去升華。授人以魚不如授人以漁!
參考文獻(xiàn)
[1]周察金,數(shù)據(jù)庫(kù)應(yīng)用基礎(chǔ)VisualFoxPr06.0(第3版)[M].高等教育出版社.2015.