QBASIC程序設計是職業(yè)高中計算機專業(yè)的一門主要專業(yè)課程,它的指導思想是:使學生通過學習既掌握一定的編程語言知識、編程技術和基本算法,又掌握程序設計的思想和方法,以及解決簡單實際問題的能力。其重點是培養(yǎng)學生掌握程序設計的思想和方法,難點是它作為程序設計的入門課程,許多知識點抽象難懂,學生的思維又跟不上。應當如何引導學生突破傳統(tǒng)的思維方式,快速掌握程序設計的新思想,提高QBASIC的教學效果,培養(yǎng)和提高學生分析問題、解決問題能力呢?
一、要認真進行課前準備
上課之前必須準備充分,熟悉教材,熟悉學生,熟悉教法,只有在各項準備活動做好的條件下才能更有效地組織課堂教學。如果教師對所教的內容不熟悉,有的甚至課前十分鐘才進行上課準備,這樣根本無法愉快地進行教學。我在進行課前準備時,一是要將課堂上用到的程序反復調試,以備課堂上解決學生隨時遇到的各種問題,二是要將各種程序問題,盡可能多地設計各種算法,以備解決學生編程時出現的多樣性。只有把一堂課的方方面面在課前考慮周全,才會達到理想的教學效果。
二、教學過程中,應當注意設置問題,引導學生思考和探索
我在教學時發(fā)現,學生問不出問題的原因往往在于沒有真正學好。有的學生似懂非懂而不敢問,實際上,問題是最好的老師,是學生學習的引導者,沒有問題便沒有深入。在教學過程中,如果老師過多講授理論知識,不結合實際問題,不但老師講來乏味,而且學生聽來也是昏昏沉沉,無所適從,所以引導學生在問題解決中學習,即提出問題,留給學生時間思考、討論、解決問題,從而更深入地展開學習。實踐證明,這種教學方法能充分調動學生學習的積極性和主動性。例如,在講循環(huán)結構時,我首先設置問題:編程計算有一個學生有9門課,從鍵盤輸入學生成績,要求計算并輸出該生的平均成績。對于這樣的問題學根據前面所學的知識很快就完成了,用9個變量代表9門課,從鍵盤輸入后相加后除以9。再進一步要求有10個學生,每個學生9門課,要求輸出每個學生的平均成績。學生通過討論發(fā)現,成績輸入和平均值的計算需要重復執(zhí)行10次,此時引入循環(huán)的用法,學生就可輕而易舉地解決了這個問題,從而提高學生的興趣,可以達到事半功倍的教學效果。
三、加強傳統(tǒng)教學和多媒體教學相結合
直觀、形象、便捷的多媒體教學是傳統(tǒng)教學所不能達到的。運用多媒體教學可以使學生在有限時間內迅速理解、掌握、獲取更多知識,還可以將一些抽象的問題具體化,形象化。QBASIC程序設計不僅要教會學生語法知更要通過課堂教學,培養(yǎng)學生抽象思維和邏輯推理能:掌握程序設計的思想和方法。教學過程中,及時有效地使用多媒體教學,可將QBASIC語法中深奧的理論和邏輯推理的內容(如數據類型、運算符、語句及部分語法規(guī)則),運用多媒體教學直觀、形象地講授給學生,加深其對問題的理解。比如,在講變量賦值的時候學生很難理解變量的當前值由最后一次賦值決定,我們將三個變量交換程序做成FLASH動畫,這樣就能很形象的將過程展現給學生,加深學生的理解。加強多媒體教學,可將抽象問題形象化、枯燥問題生動化。對于多媒體教學不易實施的程序設計方法的講解,我們采用傳統(tǒng)的教學方法,教會學生如何思考、推理,如何用語句實現算法,培養(yǎng)了學生的抽象思維、邏輯推理能力。這樣,將傳統(tǒng)的教學方法與多媒體教學相結合,對提高學生分析問題的能力是有很大好處的。
四、要運用正確而不死板的教學方
活躍的課堂氣氛如不與正確的教學方法聯(lián)系起來,就很難達到預期的效果,在教學中,學生普遍反應QBASIC最難學,究其原因,因為QBASIC語法類型多,要記的比較多,而且對很多問題要提出算法,建立模型才能編出程序。
例:從鍵盤輸入任意三個整數,要求輸出其中的最大數。
在寫出程序之前首先需要進行以下分析:
①要解決問題,需要定義幾個變量,變量的類型如何確定。
②變量沒有值可以嗎?如何給變量提供值。
③求三個數的最大值。
④輸出結果。
進一步分析:
①經過分析可以定義四個變量,分別為:a,b,c,max;根據題目要求其類型應為整型(int)。
②要求a,b,c的最大值,這三個變量有值才能求最大值,如何從鍵盤給它們提供值?學生自然會想到scanf();max可以用來存放找到的最大值。
③要求三個數的最大值,可轉化為先求出兩個數的最大值,再將這兩數的最大值與第三個數比較,求出的最大值即為所求結果,將結果存入max。
④輸出max的值。
將③再進一步深入:
如何求a,b的最大值?問題可描述為:若a大于b,則a為所求,將其存入max;否則b為所求,將b存入max。分析到此,學生會將該結構與if-else語句對應。
求max與c的最大值,問題可描述為:若c大于max,則用c更新max;否則max為三數中的最大值,其值不變。分析到此,學生會將該結構與if語句對應。
將每一步用相應的QBASIC語句實現,即為求三個數最大者的程序。
其實在QBASIC編程中對于給出的一個問題可以從以下幾個方面引導學生進行分析:
l、建立數學模型,列出有關方程式。
2、根據方程式可以知道需要定義的變量個數及類型。
3、選擇適當的方法為變量提供相應的值。(即數據的輸入)
4、對數據進行處理。
5、輸出結果,再根據每一步的具體情況,進一步細化。
這種方法可以引導學生了解程序設計的思路和方法,有助于他們把握問題全局,分階段逐步深入細化,使得每個階段的問題都在容易理解和處理的范圍內,遇到問題不會無從下手。
五、重視實踐操作和實踐操作后的再提高
程序設計課程的實踐性很強,學生只聽不練根本達不到學習該課程的目的。QBASIC教學中首先應根據課程的特點和要求,重視上機操作,特別是學習了新的語法知識,要讓學生上機實踐,動手調試,將書上的程序進行變換練習。這樣才能理論聯(lián)系實際,學以致用,激發(fā)學生的探究的熱情和求知的欲望,讓學生體驗程序運行成功后的喜悅。
通過兩個學期的教學實踐,學生學習QBASIC的興趣得到了激發(fā),絕大部分學生上課能專心聽講,上機實踐目的更明確,既掌握了程序設計的思想和方法,又提高了學生抽象思維和邏輯推理能力,為將來進入高一級學校進一步學習可視化編程語言奠定了較好的基礎。