錢曉蕓
在計算機學科中,計算機語言是開發(fā)軟件系統(tǒng)的一個必不可少的工具。因此,學習計算機高級語言對計算機專業(yè)的學生來說非常重要。對中等職業(yè)學校的計算機專業(yè)學生來說,掌握1—2種計算機高級語言是十分必要的。但由于職業(yè)學校的學生文化課基礎普遍比較薄弱,因此,在計算機高級語言的學習過程中,學生遇到最大的困難就是編程,尤其是與數(shù)學聯(lián)系比較緊密的問題的編程。在這種情況下,使用“積木式”教學方法能使學生較好地理解并掌握知識點,并能舉一反三,觸類旁通。
所謂“積木式”教學方法,顧名思義,就是將較為復雜的知識點分解為較小的知識點,當理解和掌握小知識點后,再將它們有機地組合在一起,就像兒童在玩積木游戲一樣,將許多塊積木按一定的順序和形式結合在一起,搭成一座宏偉的建筑。在這個意義上,一個復雜問題的解決就分解為兩個步驟:一是將復雜問題分解為多個較為簡單的問題并逐個解決;二是將已解決的各個問題按照一定的順序有機地結合起來。本文以QBASIC語言中的文本作圖為例,闡述“積木式”教學方法在該問題中的應用。
文本圖形主要是指比較規(guī)則的線性圖形,即光標的起始位置和每行文本中符號的數(shù)目呈現(xiàn)線性變化規(guī)律。在這樣的文本作圖中,有兩個問題需要解決:一是每行文本起始位置的確定;二是每行文本數(shù)目的確定。對于每行符號起始位置不變而數(shù)目線性變化的圖形或者每行符號數(shù)目不變而起始位置線性變化的圖形,可以用目測觀察的方法,直接確定上述兩個問題中的具體參數(shù),但是對于一些較為復雜的線性圖形,就要通過一定的公式來確定,這個公式可以概括為:Y=KX+B。
一、文本起始位置的確定
當文本起始位置呈線性變化時,可以采用下面的方法解決:用兩個不同行的各項參數(shù)作為上述二元一次方程組的已知條件,列出兩個方程,求出K值和B值,最終確定線性方程式。
例1:
在這個圖形中,每行的起始位置公式均為Y=KX+B。其中,X為行號,K為斜率,B為截距,Y為光標的起始位置??闪谐鋈齻€方程,取其中的第一和第三兩個方程:
求得K值為1,B值為0,因此可得到光標的起始位置方程為:Y=X。
在這個圖形中,仍然可以用Y=KX+B這個公式確定光標的起始位置,但與例1中不同的是,光標變化的線性方程應該有兩個,因為光標起始位置的變化趨勢很顯然并不統(tǒng)一,而是關于X軸對稱,所以在列式計算時,應該列出兩組二元一次方程組,而X值的變化范圍也應該是對稱的,即可設為從-3—+3:
7=K1·(-3)+B1?搖?搖?搖(1) 1=K2·0+B2?搖?搖?搖(1)
1=K1·0+B1?搖?搖?搖(2) 7=K2·3+B2?搖?搖?搖(2)
解這兩個方程組可得兩組K值和B值分別為:K1=-2,B1=1;K2=2,B2=1。兩個方程分別是:Y1=-2X+1;Y2=2X+1。根據(jù)這兩個方程中X的取值范圍可以得出:K·X總為非負數(shù)。因此,結合上述情況,可以用函數(shù)ABS()來調(diào)節(jié)正負號,因此這個圖形的光標起始位置可以歸納為:Y=2*ABS(X)+1。
上述兩個圖形基本概括了線性作圖中的所用情況,也就是說,無論是何種線性作圖,都離不開這樣兩大類型,即單向線性變化和對稱線性變化。即使有變化,也只是在符號上有較小的變化。
二、每行中符號數(shù)的變化
與光標起始位置相似,符號數(shù)的變化離不開兩大類型:一是單向線性變化,二是對稱線性變化。單向線性變化中分為單向增加和單向減少,此時,可以將符號數(shù)的變化看成是一個等差數(shù)列,趨勢相似,而步長不同。步長的不同,主要體現(xiàn)在K值的變化,趨勢的變化主要體現(xiàn)在K值的符號:增加的趨勢下,K值為正;否則為負。對稱線性變化的算法與例2中基本一致,只在具體問題中有數(shù)值上的變化。最終也可以得到一個類似于Y=KX+B的一個公式來反映符號的變化。
當然,有一些圖形(如例2)中既有光標位置的變化,又有每行符號數(shù)的變化。這時,我們就應該把所學到的小知識點綜合起來,即結合光標起始位置和每行符號數(shù)這兩種算法,求出作圖時所需參數(shù),最終寫出正確的、簡潔而高效的QBASIC源程序。
綜上所述,我們只要搭建好每一個小知識點的框架,就能解決好以此為基礎的各種復雜問題。我認為,該觀點不僅可以適用于計算機語言的教學之中,還可以廣泛地應用于其他領域。