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