邵曉舟

摘 要: 隨著科技的不斷發展,計算機語言編程教育作為計算機教學中極其重要的一部分逐漸得到了大家的重視。如何培養學生對計算機語言編程的興趣,提高學生學習的效率,筆者以職高學生教育經歷入手,通過對學生學習習慣和語言編程特點的分析,結合教學實例中的教學方法,希望能夠對教育工作中教師們有所幫助。
關鍵詞: 計算機;語言編程;教學方法
引言
對于職高的學生而言,計算機編程的學習過程中包含編程內容、學習方法以及計算機編程獨特的思維方式,而且每部分存在較大差異,大部分學生反映計算機語言編程比較難懂[3]。為了使學生能夠有效學習計算機語言編程這門學科,筆者從教學經歷中摸索出一套適合職高學生的學習方法,下面進行具體闡明。
一、重視學習方法,培養學生的思維能力
計算機編程教育對職高學生而言是一門比較陌生的一門學科。學生在初中階段一般都是依靠記憶、模仿來學習知識,從中忽略了理解和知識靈活運用的過程。所以大部分學生學習編程語言的時候就是單單依靠記憶來學習,至于為什么是這樣,還能不能用另外的方法代替等這種思維在學生中是很少見的。針對這種情況,在開始講授這門課的時候要將這門課的作用、內容概況、以及新的學習方法給學生講清楚,以免讓學生走彎路。另外,我們還要注重學生學習興趣的培養、思維習慣的養成,更要注重學生學習方法的熏陶。在上課的過程中教師應該拋棄滿堂灌的教學方式,避免滿堂灌的教學方式,每節課應該預留出5分鐘的時間給學生討論,把剩余的課堂教學時間合理的分配:教師應該用三分之一的時間把課本的內容簡明扼要的講解給學生,然后用三分之一的時間讓學生進行總結學習,剩下的時間就是老師進行出題,讓學生探討,如何解決老師提出的問題。通過課堂講授、自我總結以及學習討論這個過程,學生能夠發現學習漏洞,方便差缺補漏,鞏固學習能力。
二、突出重點,簡化編程過程中難以理解的步驟
職高學生的文化課成績差異比較大,理解能力也有所不同,這就要求老師要因材施教,要在學生的理解范疇講解知識。教會學生編寫計算機語言程序是教學的重點內容,也是難點內容。我經過幾年的教學發現這些難點主要表現在學生不會針對問題進行分析,不會用計算機語言描述所提出的問題。針對這種現象,老師應該讓學生采用逆向思維的方式,即從想要得到的結果出發,中間經過怎樣的處理,每一步的處理可以用那些已知條件,把這個分析過程用簡單的文字表達出來,再畫一個框圖,框圖的內容每一部分用文字或者符號去表達。對于一些難以理解的編程問題還可以用打比方的方法講授給學生。比如變成這過程中經常遇到兩個變量A和B值的問題。學生會直接用“A=B”來代替,這樣就會減少一個變量。運用打比方的方法,有兩個杯子,一個杯子貼上A,里面裝有黑墨水,另外一個貼上B,里面裝有藍墨水,現在要把A換成藍墨水,就需要先借助另外一個杯子C才能完成。
三、采用實例介紹專有名詞,讓學生更好理解
在計算機編程語言學習的過程中,通常讓學生先學一些簡單的例子。例如,編寫一個求解一元二次方程X2-7X+12=0的程序。顯然這個方程的根是受到方程系數的影響,我們可以看到二次項系數A=1,一次項系數B=-7,常數項C=12,求根公式如下
將系數帶入到求根公式的到的解是X1=3,X2=4。
如果編寫這個求解程序,我們要用三個變量A,B,C代替方程的系數,判別式b2-4ac用另外一個變量D來代替,還要用一個平方根函數SQR()。編寫后的程序如下:
A=1:B=-7:C=12
D=B*B-4*A*C
X1= (-B+SQR (D))/2*A
X2= (-B-SQR (D))/2*A
PRINT X1, X2
END
通過這個簡單的程序編寫,給同學們介紹了賦值語句和打印語句是如何編寫和應用的。在介紹過簡單的程序后,在介紹編程序的另外一種類型,選擇程序和條件語句。首先通過實例進行講解,編寫程序解一元二次方程X2-X+1=0,此方程是一個沒有實數根的一元二次方程,所以只根據方程的系數不能求解方程。我們分析方程有沒有實數根的過程在計算機上呈現就是需要一個程序分析判斷,這個分析判斷就叫做條件語句。
在編程前要先畫流程圖,一元二次方程一般式AX2+BX+C=0的求解流程如圖1所示。流程圖中的三角形框圖代表分析判別,也就是條件語句,流程圖中的分叉為程序進行自動選擇過程。
從上例中可以看到方程的求解過程只需要求解一次,這種求解方法叫做順序程序,還有另外一種程序叫做循環程序。循環程序的提供數據的語句有三種分別是賦值語句(LET語句)、鍵盤輸入語句(INPUT語句)和讀置數語句(READ/DATA語句)。若一元二次方程需要求解20次,若使用賦值語句需要編寫多次程序,可想而知,這種方法是比較麻煩的。在這種情況下引入鍵盤輸入語句,這種語句可以為變量提供數據,每次運行時,執行INPUT語句,操作員從鍵盤輸入給變量,求解20次只需要編寫一個程序就可以了。編寫程序如下:
20 INPUT A, B, C
IF A=0 THEN GOTO 100
D=B * B-4*A*C
IF D≮0 THEN
X1=-B/(2*A)+SQR(-D)/(2*A)
X2=-B/(2*A)-SQR(-D)/(2*A)
PRINT X1; "I", X2; "I"
ELSE
X1=-B/(2*A)+SQR(D)/(2*A)
X2=-B/(2*A)-SQR(D)/(2*A)
PRINT X1, X2
END IF
GOTO 20
100 END
觀察此程序,使用了鍵盤輸入語句,在求解20次的情況下只需要編寫一個程序就能夠求解,在編寫程序方面節省了大量時間。但是這種方法需要等待操作員輸入數據后才能繼續運算,降低了計算的效率。這就要引出循環語句(FOR/NEXT語句)的概念,這個功能主要是能夠重復同樣的操作,最后自動退出。這種方法縮減了操作員手動輸入的時間,提高了運算效率。
通過比較簡單的兩個一元二次方程我們由淺到深的分析了編寫程序的幾個專有名詞的使用,采用這種方法能夠讓學生更加深刻的記憶其使用功能。
計算機的語言編程是一個比較難學的科目,里面包含許多重點與難點需要同學去克服。我們作為教師,只要根據學生的特點,選擇合理的教學方法,在此過程中把比較難懂的地方慢慢拆解開,學生在學習的過程中也會少走很多彎路。
參考文獻
[1]葉連杰, 計算機編程語言的發展與應用[J] 信息與電腦 2014.
[2]陳晨, 高校計算機語言類編程教學特點及階段的探討[J] 亞太教育 2016.
[3]杜紀魁, 極限編程與計算機語言教學[J] 科教文匯 2008.