【摘 要】隨著教學的改革,中學生信息技術的培養受到了教育界越來越大的重視。VB程序設計能夠提高學生的計算機操作能力,培養學生的信息素養,為學生的自主學習打下良好的基礎。作為一名高中信息技術的教育工作者,筆者根據多年的教學經驗,對VB流程控制結構中循環結構的For循環語句的教學進行了論述,淺析了如何利用情景教學法實現高效的VB程序設計教學,具有一定的參考意義。
【關鍵詞】情景;案例;VB設計
對于大多數人來說,學習編程是一件非常枯燥的事情。高中生課業壓力大,學習枯燥的編程時,很容易產生畏難心理,覺得枯燥難學,達不到目標的教學效果。因此,為了提高同學們的學習效率,我采用了情景教學法,利用其趣味性、直觀性、生動性的優點,使VB設計課堂“妙趣橫生”,讓同學們在具體的教學情景中高效的學習VB編程知識,提升自身信息素養。
一、生動導入,情感驅動
循環結構是結構化程序設計的三種基本結構之一,能夠簡化程序結構,提高代碼的簡潔度。其中,For循環語句適用于循環次數已知的循環結構。教學時,如果直接對For循環語句進行講解,枯燥的程序代碼會使教學氣氛壓抑,學生學習興趣不高。因此我在教學時,首先通過情景教學進行生動的導入,提高課堂氣氛,激發學生的求知欲和學習熱情,達到情感驅動的效果。
比如我在教學時,首先問大家會不會玩飛行棋,成功吸引了大家的注意力,紛紛回答我會玩。然后我告訴大家,我利用VB程序設計軟件設計出了一個簡易飛行棋的軟件,這個軟件可以實現一個人玩飛行棋的全部過程,同學們只要把這個程序拷貝到各自操作的電腦上,可以實現多個人共同玩飛行棋。例如,當兩個人玩時,分別使自己電腦上的VB程序進入運行模式,然后可以通過石頭剪刀布決定飛行棋先行的人,先行的人點“擲篩子”的控件,篩子就會轉動,隨機出現一個點數,棋會自動在棋盤上走,遇到特殊格子會自動后退或前進,兩個人按照順序行棋,直到有人先到達終點。我通過幻燈片放映向同學們展示了程序運行的全過程,成功的活躍了課堂氛圍,同學們對VB能夠設計出游戲程序感到非常的新奇、有興趣。然后,我再以此為導入,向大家介紹該程序的編程,學習For循環語句。
葉圣陶有言“教師之為教,不在全盤授予,而在于相機誘導”。通過上述的教學方法,我成功的生動導入教學內容,激發同學們的學習興趣,發揮學生的主體作用,使同學們產生繼續探究的求知欲,從而提高課堂的學習效率。
二、精選案例,層層分析
教師如果直接對課本上的程序設計語言進行解讀,會使學生的記憶、理解效果都較差,學習效率不高。教材上面的for循環所采取的例子大多跟數學有關,比較抽象,學生不太感興趣,所以在教學時,教師可以通過精心挑選具體化、生活化的案例進行分析、解讀,突破教學的難點,大幅度的提高教學的效果。
比如,我在教學時,選取了簡易飛行器的案例,通過解讀所選案例中的編程語言,講解For循環語句的應用。在教學時,我將簡易飛行器的編程分解為四個子任務,緊扣教學目標,分別對其進行分析,并與教材中的相關內容一同進行解讀。學生想要一下子掌握全部準確的編程過程比較困難,所以我著重對任務中有關教學內容的重點語句進行講解。四個子任務由淺入深。子任務一是將棋盤中的格子全部設計為普通格子,使程序在擲玩骰子后根據篩子的點數進行相應步數的飛行。其中涉及到兩個循環結構,首先需要模擬隨機擲骰子的過程,隨機產生一個1至6的隨機整數,并且通過循環語句保存到變量fly_step去,作為本次飛機要飛行的步數。然后再執行如下的循環語句;For i=current_position To current_position+fly_step; fly_to_new_position i; Sleep 500;Next i。任務二是設計代碼,當飛機飛行到前進五格的特殊格子時,執行命令。首先需要利用選擇結構,設計代碼使飛機在飛行到有“前進五步”命令的格子時,執行如下的循環結:For i=current_position To current_position+5 step 1;fly_to new_position i+1; Sleep 500; Next i;。任務三是設計代碼使飛機飛行到“回到起點”的特殊格子時,執行命令。利用選擇結構,使飛機飛行到這些特殊格子時,執行循環語句:For i =current _position To 0 Step -1; fly_to_new_position i; Sleep 500 ; Next i。任務四是設計代碼執行后退三格的命令,與任務二相似,都是選擇結構中執行循環語句。其中,在任務一、二、四中的循環結構中,需要注意的是要增加有當飛行到重點后重新開始的選擇語句。上面四個子任務用到的fly_to_new_position是一個過程,其實就把飛行棋的圖片移動到某個格子,而且有延時,所以看上去就像是飛行棋在移動的效果。
在上述教學過程中,我通過將程序分解成四個子任務,對四個任務中的重點循環語句進行敘述和層層分析,讓學生學會設計程序時的思路、方法,通過層層遞進,實現需要設計的所有功能。
三、縱向比對,歸納方法
在對案例程序中所有所有子任務的循環結構進行分析后,我會引導同學們將這些循環語句進行對比,發現其中的規律,加深自我的理解,通過總結、歸納方法,從而更熟練的進行應用。
比如,對上述所講的四個子任務的循環語句進行對比,我們可以發現循環語句的格式是:For循環變量=初值to終值step步長;循環體;Next循環變量。上述案例中的循環語句,首先是將初值也就是飛機開始飛行時最初的位置賦給循環變量,然后執行循環體,案例中的循環體主要為飛機位置的移動,讓飛機飛行到第i個格子上,循環體中Sleep 300/500是為了暫停3/5秒,使飛機棋子看起來像在移動。執行完一次循環體后將循環變量的值加上步長賦給循環變量,如果循環變量的值在初值到終值的范圍內,繼續循環。通過這樣的循環語句,實現了具體步數的前進與后退,其中定義的飛機初始位置和結束位置以及步長決定了循環的次數,循環次數=Int((終值-初值)/步長+1)。為了讓同學們更加清晰的理解,我提出如果想讓飛機當前的位置向后退五步,該怎么設計循環語句這一問題。同學們的回答都達到了我預期的效果,通過多個循環語句的類比,同學們都能基本掌握格式與編程的方法,做出了正確回答。
通過飛行棋的前進、后退等功能的實現,我們把枯燥的for循環的基本知識點:例如循環次數、步長等關鍵點都體驗了一遍,學生在輕松的氛圍中就直觀的了解for循環的要點。
在上述的教學活動中,我通過對案例進行縱向的比對,讓同學們通過多個例子理解For循環語句的結構與應用方法,讓學生們學會了如何針對具體的程序功能,利用循環結構,達到了很好的教學效果。
四、結組設計,實踐練習
教學實踐是提高學生對知識的掌握程度,促進學生對知識進行熟練應用的有效途徑。通過利用情景教學法,對編程知識進行生動、具體的講解后,我接下來的兩節課讓同學們結組設計一個程序,進行實踐練習。
比如,在結束了For循環語句的教學后,我布置了一個程序設計的題目:《青蛙的約會》,寫明要求和實現的功能,同學們需要每3到5個人自由結組,選取我布置的題目進行設計,時間期限為兩個周。對于《青蛙的約會》這個程序設計作業:有一個長方形的跑道,長方形的左上角端點是起點,有兩只青蛙在逆時針跳步。長方形的跑道長度、青蛙A和B距離起點的位置、兩青蛙每跳一步的距離,這些參數都是同學們需要設計程序計算出兩青蛙在以上位置條件的任意合理數值下,同時跳多少步能跳到一個點。待同學們都結組選好題目與組長后,我會讓每個組長將我課堂上講的《簡易飛行棋》的程序frm文件拷貝到U盤或者網絡云盤中,方便大家做作業時學習參考。同學們寫作業的過程就是自己能力提高的過程,同學在小組討論設計時,主動的去閱讀課本教材的知識內容,細細的理解和鉆研,并在設計時進行實踐應用,通過不斷的嘗試與改正,最終成功的實現了作業中要求的程序功能,提高了自身的能力。
綜上所述,教師在進行VB程序教學時,通過利用情景教學法,能夠改善編程的枯燥難懂,使其變得生動有趣,通過生動導入、案例分析、縱向比對、實踐練習等教學策略,實現VB設計的高效課堂,提高同學們的學習效率。
【參考文獻】
[1]談銘玉.初探高中信息技術課程的程序設計教學方法[J].中小學電教,2015(1)
[2]張勤.《信息技術》中VB編程的課程教學設計[J].中學課程輔導,2014(22)