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