文 程佑寅
化虛為實(shí) 精講精練 構(gòu)建高效課堂
——以《VB中的循環(huán)語句》為例
文 程佑寅
若干年前,初中的VB章節(jié)是9年級(jí)的選修內(nèi)容,各校的開展情況不盡相同。以我校為例,前幾年在學(xué)生進(jìn)入9年級(jí)之后因其他原因沒有開展VB章節(jié)的教學(xué),故相關(guān)的實(shí)踐研究較少。但是2013年教材改編之后,VB章節(jié)變成教材的必修內(nèi)容,并且從9年級(jí)教材提前到8年級(jí)教材的第11章,其重要意義不言而喻。如何在有限的教學(xué)時(shí)間內(nèi)高效地傳授編程思想,培養(yǎng)學(xué)生的VB程序設(shè)計(jì)能力就顯得尤為重要。本文就以《VB中的循環(huán)語句》為案例,介紹了筆者在提高課堂效率方面的一些實(shí)踐和反思。
1.教學(xué)內(nèi)容分析
循環(huán)語句是初中VB課程中的重點(diǎn)和難點(diǎn)。本節(jié)課是循環(huán)語句的第一課時(shí)——計(jì)數(shù)循環(huán),首要目標(biāo)是讓學(xué)生感受到循環(huán)語句的優(yōu)勢(shì),讓學(xué)生有意識(shí)地用循環(huán)語句去解決編程問題。循環(huán)語句的知識(shí)點(diǎn)比較多,教材的要求是能夠讀懂簡單的循環(huán)程序、模仿編寫循環(huán)程序,但是如果細(xì)講則要先從循環(huán)語句的格式、過程、循環(huán)變量及其變化等知識(shí)點(diǎn)講起,可講的內(nèi)容會(huì)很多難度也很大。所以要提煉出最重要的知識(shí)點(diǎn),讓學(xué)生在課堂上就能使用循環(huán)語句完成任務(wù),看到學(xué)習(xí)成效。
2.學(xué)生情況分析
在之前的學(xué)習(xí)中,學(xué)生已經(jīng)初步掌握VB程序的基本知識(shí)、邏輯判斷語句等知識(shí),能夠熟練搭建VB程序界面和編寫簡單的VB小程序。但是我校學(xué)生中有很大一部分是來自民工子弟學(xué)校,小學(xué)階段幾乎沒有系統(tǒng)地學(xué)習(xí)過信息技術(shù)課程,尤其是沒有學(xué)習(xí)過Scratch,Logo等編程小軟件,所以對(duì)于VB中的基礎(chǔ)概念較難理解,編程思維相當(dāng)薄弱。因此如何讓學(xué)生理解循環(huán)的思想并且能夠嘗試編寫出相應(yīng)的程序以體現(xiàn)學(xué)習(xí)成效,讓學(xué)生有興趣有信心繼續(xù)學(xué)習(xí)VB是本節(jié)課的目標(biāo)。
3.教學(xué)目標(biāo)
了解循環(huán)的思想;掌握For循環(huán)的基本知識(shí)(格式,循環(huán)變量,循環(huán)體等);初步掌握For循環(huán)的執(zhí)行過程,了解循環(huán)變量的變化過程;注意For循環(huán)的使用注意事項(xiàng),使用For循環(huán)完成簡單的程序設(shè)計(jì)。
4.重點(diǎn)、難點(diǎn)分析
教學(xué)重點(diǎn):循環(huán)的思想、For循環(huán)的基本知識(shí)(概念、格式等);
教學(xué)難點(diǎn):For循環(huán)執(zhí)行過程;使用For循環(huán)簡單編程。
5.教學(xué)過程
(1)引入新課:折紙問題
假如一張紙厚度為0.06mm,面積足夠大,將它對(duì)折1000次之后,厚度是多少?
分析:如果用程序來模擬對(duì)折效果,用h代表厚度,n代表對(duì)折次數(shù),那么對(duì)折一次可以用以下程序表示:
從程序可知,h=h*2和n=n+1兩句,每執(zhí)行一次就代表將紙對(duì)折一次。如果要對(duì)折10000次,程序段該怎么寫呢?
學(xué)生回答:寫10000遍h=h*2和n=n+1就可以了。
教師:這樣做確實(shí)能夠?qū)崿F(xiàn)最終的結(jié)果,但是很麻煩,我們可以簡化這樣重復(fù)執(zhí)行的命令。
教師演示:
(2)新課講授
【For循環(huán)的格式】
For <循環(huán)變量>=初值 To 終值 Step步長
<循環(huán)體>
Next 循環(huán)變量
教師講解For循環(huán)格式的中每一個(gè)VB保留字的意義和作用,介紹什么是循環(huán)變量,再著重講解For循環(huán)的使用注意點(diǎn)等等。
【課堂小練習(xí)】
觀察剛才的For循環(huán),分別回答下列問題:循環(huán)變量是( );初值是( ),終值是( ),步長是( );循環(huán)體是:( );若對(duì)折次數(shù)變成5000次,程序應(yīng)該如何修改?( )
(3)課堂練習(xí)
打印1、2、3…20;打印1、3、5、7……99
在導(dǎo)入新課環(huán)節(jié),學(xué)生的反應(yīng)基本上達(dá)到了預(yù)設(shè)的效果,學(xué)生對(duì)運(yùn)算結(jié)果很感興趣,紛紛討論這個(gè)數(shù)值是多大。并且想知道為什么這段程序可以實(shí)現(xiàn)快速得到結(jié)果,學(xué)生的學(xué)習(xí)積極性非常高漲。
當(dāng)講解到For循環(huán)的格式和使用注意點(diǎn)時(shí),因?yàn)檫@段內(nèi)容非常抽象,并且基本上是教師講學(xué)生聽的“獨(dú)角戲”形式,學(xué)生剛開始還能安靜聽講,但是隨著新的概念和要點(diǎn)不斷出現(xiàn),不少學(xué)生逐漸跟不上思維,一些學(xué)生的面部表情越來越迷茫,不少學(xué)生已經(jīng)開小差或者竊竊私語,課堂效果不佳。
最后的課堂練習(xí)環(huán)節(jié),筆者雖然事先給學(xué)生準(zhǔn)備了VB程序的“半成品”,但是大部分學(xué)生還是很難完成這兩個(gè)練習(xí),不少學(xué)生不會(huì)做就干脆放棄,或做與課堂無關(guān)的事情。這節(jié)課的課堂練習(xí)完成率非常低,學(xué)生的學(xué)習(xí)興趣也嚴(yán)重受挫。
1.關(guān)于循環(huán)的思想,學(xué)生掌握起來特別困難。為此就要把抽象的循環(huán)程序展開讓學(xué)生明白循環(huán)語句的實(shí)質(zhì),幫助學(xué)生消除神秘感。
可以讓學(xué)生使用For循環(huán)來簡化多條相同的語句體驗(yàn)循環(huán)語句的優(yōu)勢(shì);再讓學(xué)生把一個(gè)For循環(huán)展開成一般語句來讓學(xué)生體驗(yàn)循環(huán)語句并沒有改變程序的內(nèi)容。通過這樣“簡化-展開”的操作讓學(xué)生更加直觀、具體地了解循環(huán)結(jié)構(gòu)的作用和實(shí)質(zhì)。
2.課堂練習(xí)環(huán)節(jié)中,第一題打印數(shù)列問題是For循環(huán)的簡單應(yīng)用,這里的循環(huán)變量控制循環(huán)體執(zhí)行,也控制著數(shù)列每一項(xiàng)的值。對(duì)于剛剛學(xué)習(xí)For循環(huán)的學(xué)生而言,他們很難想到同一個(gè)循環(huán)變量會(huì)有兩重作用,讓他們完成這個(gè)任務(wù)難度太大,課堂達(dá)成率也很低。
所以在學(xué)生操作之前教師要幫助學(xué)生分析一下這個(gè)數(shù)列的特點(diǎn),以填空題的形式讓學(xué)生完成編程。同樣,對(duì)于第二道數(shù)列打印題,教師可以通過幾個(gè)問題來提示學(xué)生,然后由學(xué)生獨(dú)立完成編寫。
1.新課導(dǎo)入(略)
2.新課講解
(1) For循環(huán)格式(略)
(2)新增練習(xí)
①使用For循環(huán)簡化下列程序:
②將下列For循環(huán)結(jié)構(gòu)展開,使用非循環(huán)語句表示:
(3)課堂小練習(xí)(略)
3.課堂練習(xí)
(1) 打印數(shù)列1、2、3……20
分析:這個(gè)數(shù)列的第一個(gè)數(shù)是( )?最后一個(gè)數(shù)是( )?每兩個(gè)數(shù)之間相隔( )?
如果使用變量i來表示這個(gè)數(shù)列的每一項(xiàng),用For循環(huán)結(jié)構(gòu)來實(shí)現(xiàn)數(shù)列打印,那么這個(gè)For循環(huán)的初值是( )?終值是( )?步長是( )?
完善程序:
(2)打印數(shù)列1、3、5、7……99
提問:這個(gè)數(shù)列的初值是( )?終值是( )?步長是( )?
提問:觀察數(shù)列的每一項(xiàng)有何規(guī)律?有沒有其他的方法可以打印這個(gè)數(shù)列?
經(jīng)過改進(jìn),同年級(jí)另一個(gè)平行班級(jí)學(xué)習(xí)起來就相對(duì)輕松許多,課堂任務(wù)的達(dá)成率也很不錯(cuò),不少學(xué)生的學(xué)習(xí)積極性也很高漲。
不同的學(xué)生有著迥異的知識(shí)背景和學(xué)習(xí)習(xí)慣。對(duì)于在小學(xué)階段接受過編程思維洗禮的學(xué)生而言,初中的VB內(nèi)容只不過是將簡單的數(shù)據(jù)結(jié)構(gòu)和算法通過可視化的Basic語言表現(xiàn)出來,對(duì)他們而言掌握這部分知識(shí)相對(duì)比較容易。
但是對(duì)于類似于我們學(xué)校這樣的普通學(xué)生居多或者信息素養(yǎng)更薄弱的學(xué)生而言,則需要更加直觀的方法讓學(xué)生形成對(duì)編程思維的感性認(rèn)知。這就要求我們?cè)谶M(jìn)行教學(xué)設(shè)計(jì)時(shí)要“化虛為實(shí)”,把一些抽象的知識(shí)“實(shí)體化”,讓學(xué)生在他們習(xí)慣的思維發(fā)展區(qū)中構(gòu)建新的知識(shí)。
在完成課堂任務(wù)時(shí),教師也要精講精練,通過一些數(shù)量不多的設(shè)問輔之以言簡意賅的提示來幫助學(xué)生梳理思路,既不能暴露答案也不能讓學(xué)生死記硬背程序,這樣學(xué)生會(huì)更樂于學(xué)習(xí)VB,我們的VB教學(xué)也會(huì)變得更高效。
作者信息
程佑寅,本科,中學(xué)一級(jí)。南京市玄武區(qū)孝陵衛(wèi)初級(jí)中學(xué),210014